本文整理汇总了Java中org.eclipse.jdt.core.IClasspathEntry.CPE_SOURCE属性的典型用法代码示例。如果您正苦于以下问题:Java IClasspathEntry.CPE_SOURCE属性的具体用法?Java IClasspathEntry.CPE_SOURCE怎么用?Java IClasspathEntry.CPE_SOURCE使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类org.eclipse.jdt.core.IClasspathEntry
的用法示例。
在下文中一共展示了IClasspathEntry.CPE_SOURCE属性的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getProjectClassPath
public static void getProjectClassPath(IJavaProject project, List<File> dst) throws Exception {
IRuntimeClasspathEntry [] rentries = JavaRuntime.computeUnresolvedRuntimeClasspath(project);
for (IRuntimeClasspathEntry entry : rentries) {
switch (entry.getType()) {
case IClasspathEntry.CPE_SOURCE:
break;
case IClasspathEntry.CPE_PROJECT:
break;
case IClasspathEntry.CPE_LIBRARY:
break;
case IClasspathEntry.CPE_VARIABLE:
// JRE like entries
IRuntimeClasspathEntry [] variableEntries = JavaRuntime.resolveRuntimeClasspathEntry(entry, project);
break;
case IClasspathEntry.CPE_CONTAINER:
IRuntimeClasspathEntry [] containerEntries = JavaRuntime.resolveRuntimeClasspathEntry(entry, project);
for (IRuntimeClasspathEntry containerentry : containerEntries) {
dst.add(new File (containerentry.getLocation()));
}
break;
default:
throw new Exception("unsupported classpath entry "+entry);
}
}
}
示例2: getFilteredSourceFolders
/**
* @param projectName
* @return the direct child folders of the project
* @throws CoreException
*/
public static List<String> getFilteredSourceFolders(String projectName, String[] excludes) throws CoreException {
List<String> ret = new ArrayList<String>();
IJavaProject javaProject = (IJavaProject) JavaCore.create(getProject(projectName));
IClasspathEntry[] entries = javaProject.getRawClasspath();
for (int i = 0; i < entries.length; i++) {
IClasspathEntry entry = entries[i];
if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
IPath path = entry.getPath().makeRelativeTo(new Path(projectName));
boolean isExcluded = false;
for (int j = 0; j < excludes.length; j++) {
if (excludes[j].equalsIgnoreCase(path.toString())) {
isExcluded = true;
break;
}
}
if (!isExcluded) {
String p = path.toString();
ret.add(p);
}
}
}
return ret;
}
示例3: isSourcePath
private boolean isSourcePath(String path) throws JavaModelException, BackingStoreException {
Path pp = new File(instance.getWorkspaceRoot().toString() + File.separator + path).toPath();
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
for (IClasspathEntry entry : project.getRawClasspath()) {
if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
IResource res = root.findMember(entry.getPath());
if (res != null) {
String file = res.getLocation().toOSString();
if (!file.isEmpty() && pp.startsWith(file)) {
IPath[] inclusionPatterns = entry.getInclusionPatterns();
if (!matchPatterns(pp, entry.getExclusionPatterns()) && (inclusionPatterns == null
|| inclusionPatterns.length == 0 || matchPatterns(pp, inclusionPatterns))) {
return true;
}
}
}
}
}
return false;
}
示例4: filterJREEntries
/**
* Remove all JRE runtime entries from the given set
*
* @param scope
* set to filter
* @return filtered set without JRE runtime entries
*/
public static Set<IPackageFragmentRoot> filterJREEntries(
Collection<IPackageFragmentRoot> scope) throws JavaModelException {
final Set<IPackageFragmentRoot> filtered = new HashSet<IPackageFragmentRoot>();
for (final IPackageFragmentRoot root : scope) {
final IClasspathEntry entry = root.getRawClasspathEntry();
switch (entry.getEntryKind()) {
case IClasspathEntry.CPE_SOURCE:
case IClasspathEntry.CPE_LIBRARY:
case IClasspathEntry.CPE_VARIABLE:
filtered.add(root);
break;
case IClasspathEntry.CPE_CONTAINER:
IClasspathContainer container = JavaCore.getClasspathContainer(
entry.getPath(), root.getJavaProject());
if (container != null
&& container.getKind() == IClasspathContainer.K_APPLICATION) {
filtered.add(root);
}
break;
}
}
return filtered;
}
示例5: getJavaSourcePaths
/**
* Return the set of Java source paths for the given project, relative to the project. Return an
* empty list if not a Java project.
*/
public static List<IPath> getJavaSourcePaths(IProject project) {
IJavaProject javaProject = JavaCore.create(project);
if (!javaProject.exists()) {
return Collections.emptyList();
}
try {
IClasspathEntry[] classpathEntries = javaProject.getRawClasspath();
List<IPath> paths = new ArrayList<>();
for (IClasspathEntry entry : classpathEntries) {
if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
// source paths are absolute to the root folder of the project
paths.add(entry.getPath().removeFirstSegments(1));
}
}
return paths;
} catch (JavaModelException ex) {
return Collections.emptyList();
}
}
示例6: removeFromClassPath
public static void removeFromClassPath(IResource res, int type, IJavaProject javaProject, IProgressMonitor monitor) throws JavaModelException
{
List<IClasspathEntry> entries = new LinkedList<IClasspathEntry>(Arrays.asList(javaProject.getRawClasspath()));
ListIterator<IClasspathEntry> iterator = entries.listIterator();
boolean changed = false;
while (iterator.hasNext())
{
IClasspathEntry entry = iterator.next();
if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE)
{
if (res.getFullPath().equals(entry.getPath()))
{
changed = true;
if (debug)
Activator.log("Removing src path [" + res.getFullPath() + "] for project [" + javaProject.getProject().getName() + "]");
iterator.remove();
}
}
}
if (changed) {
setClasspath(entries.toArray(new IClasspathEntry[entries.size()]), javaProject, monitor);
}
}
示例7: addToClassPath
public static void addToClassPath(IResource res, int type, IJavaProject javaProject, IProgressMonitor monitor) throws JavaModelException
{
Set<IClasspathEntry> entries = new HashSet<IClasspathEntry>(Arrays.asList(javaProject.getRawClasspath()));
IClasspathEntry entry = null;
switch (type) {
case IClasspathEntry.CPE_SOURCE:
entry = JavaCore.newSourceEntry(res.getFullPath());
break;
case IClasspathEntry.CPE_LIBRARY:
entry = JavaCore.newLibraryEntry(res.getFullPath(), null, null, true);
break;
case IClasspathEntry.CPE_PROJECT:
entry = JavaCore.newProjectEntry(res.getFullPath(), true);
break;
}
entries.add(entry);
setClasspath(entries.toArray(new IClasspathEntry[entries.size()]), javaProject, monitor);
}
示例8: getProjectView
/**
* Convert an Eclipse JDT project into an IntelliJ project view
*/
public static ProjectView getProjectView(IProject project)
throws BackingStoreException, JavaModelException {
com.google.devtools.bazel.e4b.projectviews.Builder builder = ProjectView.builder();
IScopeContext projectScope = new ProjectScope(project);
Preferences projectNode = projectScope.getNode(Activator.PLUGIN_ID);
for (String s : projectNode.keys()) {
if (s.startsWith("buildArgs")) {
builder.addBuildFlag(projectNode.get(s, ""));
} else if (s.startsWith("target")) {
builder.addTarget(projectNode.get(s, ""));
}
}
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
for (IClasspathEntry entry : ((IJavaProject) project).getRawClasspath()) {
switch (entry.getEntryKind()) {
case IClasspathEntry.CPE_SOURCE:
IResource res = root.findMember(entry.getPath());
if (res != null) {
builder.addDirectory(res.getProjectRelativePath().removeFirstSegments(1).toOSString());
}
break;
case IClasspathEntry.CPE_CONTAINER:
String path = entry.getPath().toOSString();
if (path.startsWith(STANDARD_VM_CONTAINER_PREFIX)) {
builder.setJavaLanguageLevel(
Integer.parseInt(path.substring(STANDARD_VM_CONTAINER_PREFIX.length())));
}
break;
}
}
return builder.build();
}
示例9: assertCorrectOutputPathForJavaTestSource
private void assertCorrectOutputPathForJavaTestSource() throws JavaModelException {
IJavaProject javaProject = JavaCore.create(project);
for (IClasspathEntry entry : javaProject.getRawClasspath()) {
if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE
&& containsSegment(entry.getPath(), "test")) {
assertNotNull(entry.getOutputLocation());
assertEquals("test-classes", entry.getOutputLocation().lastSegment());
return;
}
}
fail();
}
示例10: fixTestSourceDirectorySettings
private void fixTestSourceDirectorySettings(IProject newProject, IProgressMonitor monitor)
throws CoreException {
// 1. Fix the output folder of "src/test/java".
IPath testSourcePath = newProject.getFolder("src/test/java").getFullPath();
IJavaProject javaProject = JavaCore.create(newProject);
IClasspathEntry[] entries = javaProject.getRawClasspath();
for (int i = 0; i < entries.length; i++) {
IClasspathEntry entry = entries[i];
if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE
&& entry.getPath().equals(testSourcePath)
&& entry.getOutputLocation() == null) { // Default output location?
IPath oldOutputPath = javaProject.getOutputLocation();
IPath newOutputPath = oldOutputPath.removeLastSegments(1).append("test-classes");
entries[i] = JavaCore.newSourceEntry(testSourcePath, ClasspathEntry.INCLUDE_ALL,
ClasspathEntry.EXCLUDE_NONE, newOutputPath);
javaProject.setRawClasspath(entries, monitor);
break;
}
}
// 2. Remove "src/test/java" from the Web Deployment Assembly sources.
deployAssemblyEntryRemoveJob =
new DeployAssemblyEntryRemoveJob(newProject, new Path("src/test/java"));
deployAssemblyEntryRemoveJob.setSystem(true);
deployAssemblyEntryRemoveJob.schedule();
}
示例11: createResourceLoader
private ResourceLoader createResourceLoader(final IProject project) {
if (project != null) {
IJavaProject javaProject = JavaCore.create(project);
if (javaProject != null) {
IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
try {
IClasspathEntry[] classPathEntries = javaProject.getResolvedClasspath(true);
URL[] urls = new URL[classPathEntries.length];
for (int i = 0; i < classPathEntries.length; i++) {
IClasspathEntry entry = classPathEntries[i];
IPath path = null;
switch (entry.getEntryKind()) {
case IClasspathEntry.CPE_PROJECT:
IJavaProject requiredProject = JavaCore.create((IProject) workspaceRoot.findMember(entry.getPath()));
if (requiredProject != null) {
path = workspaceRoot.findMember(requiredProject.getOutputLocation()).getLocation();
}
break;
case IClasspathEntry.CPE_SOURCE:
path = workspaceRoot.findMember(entry.getPath()).getLocation();
break;
default:
path = entry.getPath();
break;
}
if (path != null) {
urls[i] = path.toFile().toURI().toURL();
}
}
ClassLoader parentClassLoader = javaProject.getClass().getClassLoader();
URLClassLoader classLoader = new URLClassLoader(urls, parentClassLoader);
return new CustomResourceLoader(classLoader);
} catch (MalformedURLException | CoreException e) {
LOG.warn("Failed to create class loader for project " + project.getName(), e);
}
}
}
return new ResourceLoaderImpl(GeneratorSupport.class.getClassLoader());
}
示例12: addDependencies
private void addDependencies(final IProgressMonitor monitor, final ICanceler canceler, final WorkspaceBuilder builder)
throws JavaModelException,
InterruptedException {
for (final IJavaProject javaProject : this.model.getJavaProjects()) {
final String message = MessageFormat.format("scanne dependencies for project {0}", javaProject.getElementName()); //$NON-NLS-1$
this.logger.log(Level.INFO, message);
monitor.subTask(message);
final Project project = builder.getProject(javaProject.getPath().toPortableString());
if (project == null) {
continue;
}
final Set<ILibrary> libraries = new HashSet<>();
ClasspathCollector.collect(canceler, libraries, project);
for (final IClasspathEntry classpathEntry : javaProject.getRawClasspath()) {
if (canceler.isCanceled()) {
throw new InterruptedException();
}
final int entryKind = classpathEntry.getEntryKind();
switch (entryKind) {
case IClasspathEntry.CPE_LIBRARY:
case IClasspathEntry.CPE_PROJECT: {
final org.eclipse.core.runtime.IPath path = classpathEntry.getPath();
final Library library = builder.getLibrary(path.toPortableString());
if (library == null || libraries.contains(library)) {
continue;
}
ClasspathCollector.collect(canceler, libraries, library);
if (libraries.contains(project)) {
final String submessage =
MessageFormat.format("dependencies for project {0} builds cycle over library {1}", //$NON-NLS-1$
javaProject.getElementName(), library.getName());
this.logger.log(Level.ERROR, submessage);
this.logger.log(Level.ERROR, ObjectUtilities.toString(library));
throw new JavaModelException(new Exception(submessage), IStatus.ERROR);
}
libraries.add(library);
project.getDependencies().add(new Dependency(library, classpathEntry.isExported()));
break;
}
case IClasspathEntry.CPE_CONTAINER: {
break;
}
case IClasspathEntry.CPE_SOURCE: {
break;
}
case IClasspathEntry.CPE_VARIABLE: {
break;
}
default:
break;
}
project.setClasspath(libraries);
}
}
}
示例13: addProjectEntries
protected void addProjectEntries(Set<IRuntimeClasspathEntry> resolved, IPath path, int scope, String classifier,
ILaunchConfiguration launchConfiguration, final IProgressMonitor monitor) throws CoreException {
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject project = root.getProject(path.segment(0));
IMavenProjectFacade projectFacade = projectManager.create(project, monitor);
if(projectFacade == null) {
return;
}
ResolverConfiguration configuration = projectFacade.getResolverConfiguration();
if(configuration == null) {
return;
}
IJavaProject javaProject = JavaCore.create(project);
boolean projectResolved = false;
for(IClasspathEntry entry : javaProject.getRawClasspath()) {
IRuntimeClasspathEntry rce = null;
switch(entry.getEntryKind()) {
case IClasspathEntry.CPE_SOURCE:
if(!projectResolved) {
IMavenClassifierManager mavenClassifierManager = MavenJdtPlugin.getDefault().getMavenClassifierManager();
IClassifierClasspathProvider classifierClasspathProvider = mavenClassifierManager
.getClassifierClasspathProvider(projectFacade, classifier);
if(IClasspathManager.CLASSPATH_TEST == scope) {
classifierClasspathProvider.setTestClasspath(resolved, projectFacade, monitor);
} else {
classifierClasspathProvider.setRuntimeClasspath(resolved, projectFacade, monitor);
}
projectResolved = true;
}
break;
case IClasspathEntry.CPE_CONTAINER:
IClasspathContainer container = JavaCore.getClasspathContainer(entry.getPath(), javaProject);
if(container != null && !MavenClasspathHelpers.isMaven2ClasspathContainer(entry.getPath())) {
switch(container.getKind()) {
case IClasspathContainer.K_APPLICATION:
rce = JavaRuntime.newRuntimeContainerClasspathEntry(container.getPath(),
IRuntimeClasspathEntry.USER_CLASSES, javaProject);
break;
// case IClasspathContainer.K_DEFAULT_SYSTEM:
// unresolved.add(JavaRuntime.newRuntimeContainerClasspathEntry(container.getPath(), IRuntimeClasspathEntry.STANDARD_CLASSES, javaProject));
// break;
// case IClasspathContainer.K_SYSTEM:
// unresolved.add(JavaRuntime.newRuntimeContainerClasspathEntry(container.getPath(), IRuntimeClasspathEntry.BOOTSTRAP_CLASSES, javaProject));
// break;
}
}
break;
case IClasspathEntry.CPE_LIBRARY:
rce = JavaRuntime.newArchiveRuntimeClasspathEntry(entry.getPath());
break;
case IClasspathEntry.CPE_VARIABLE:
if(!JavaRuntime.JRELIB_VARIABLE.equals(entry.getPath().segment(0))) {
rce = JavaRuntime.newVariableRuntimeClasspathEntry(entry.getPath());
}
break;
case IClasspathEntry.CPE_PROJECT:
IProject res = root.getProject(entry.getPath().segment(0));
if(res != null) {
IJavaProject otherProject = JavaCore.create(res);
if(otherProject != null) {
rce = JavaRuntime.newDefaultProjectClasspathEntry(otherProject);
}
}
break;
default:
break;
}
if(rce != null) {
addStandardClasspathEntries(resolved, rce, launchConfiguration);
}
}
}