| /******************************************************************************* |
| * Copyright (c) 2000, 2007 IBM Corporation and others. |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0. |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| |
| *******************************************************************************/ |
| package org.eclipse.dltk.internal.core; |
| |
| import org.eclipse.core.resources.IResource; |
| import org.eclipse.core.resources.ResourcesPlugin; |
| import org.eclipse.dltk.core.DLTKCore; |
| import org.eclipse.dltk.core.IBuildpathEntry; |
| import org.eclipse.dltk.core.IModelElement; |
| import org.eclipse.dltk.core.ModelException; |
| |
| public class ExternalScriptProject extends ScriptProject { |
| |
| /* |
| * Note this name can be surfaced in the UI (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=128258) |
| */ |
| public static final String EXTERNAL_PROJECT_NAME = " "; //$NON-NLS-1$ |
| |
| public ExternalScriptProject(IBuildpathEntry[] rawBuildpath) { |
| super(ResourcesPlugin.getWorkspace().getRoot().getProject(EXTERNAL_PROJECT_NAME), ModelManager.getModelManager().getModel()); |
| try { |
| getPerProjectInfo().rawBuildpath = rawBuildpath; |
| } catch (ModelException e) { |
| // getPerProjectInfo() never throws ModelException for an ExternalScriptProject |
| } |
| } |
| |
| @Override |
| public boolean equals(Object o) { |
| return this == o; |
| } |
| |
| @Override |
| public boolean exists() { |
| // external project never exists |
| return false; |
| } |
| |
| @Override |
| public String getOption(String optionName, boolean inheritDLTKCoreOptions) { |
| if(DLTKCore.DEBUG) { |
| System.err.println("ExternalScriptProject getOption should be corrected..."); //$NON-NLS-1$ |
| } |
| // if (DLTKCore.COMPILER_PB_FORBIDDEN_REFERENCE.equals(optionName) |
| // || DLTKCore.COMPILER_PB_DISCOURAGED_REFERENCE.equals(optionName)) |
| // return DLTKCore.IGNORE; |
| return super.getOption(optionName, inheritDLTKCoreOptions); |
| } |
| |
| @Override |
| public boolean isOnBuildpath(IModelElement element) { |
| // since project is external, no element is on buildpath (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=61013#c16) |
| return false; |
| } |
| |
| @Override |
| public boolean isOnBuildpath(IResource resource) { |
| // since project is external, no resource is on buildpath (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=61013#c16) |
| return false; |
| } |
| |
| } |