List of usage examples for org.eclipse.jdt.core IJavaProject setRawClasspath
void setRawClasspath(IClasspathEntry[] entries, IProgressMonitor monitor) throws JavaModelException;
From source file:org.eclipse.jst.ws.jaxrs.core.internal.jaxrslibraryconfig.JAXRSLibraryRegistryUtil.java
License:Open Source License
/** * Sets the raw classpath on a project and logs an error if it when a * JavaModelException occurs/*from ww w.ja v a 2 s .c o m*/ * * @param project * @param cpEntries * @param monitor */ public static void setRawClasspath(IJavaProject project, List<IClasspathEntry> cpEntries, IProgressMonitor monitor) { IClasspathEntry[] entries = cpEntries.toArray(new IClasspathEntry[0]); try { project.setRawClasspath(entries, monitor); } catch (JavaModelException e) { JAXRSCorePlugin.log(e, "Unable to set classpath for: " + project.getProject().getName()); } }
From source file:org.eclipse.libra.facet.OSGiBundleFacetInstallDelegate.java
License:Open Source License
private void addRequiredPluginsClasspathContainer(IProject project, IProgressMonitor monitor) throws CoreException { if (isJavaProject(project)) { IJavaProject javaProject = JavaCore.create(project); IClasspathEntry[] entries = javaProject.getRawClasspath(); if (!hasRequiredPlugins(entries)) { IClasspathEntry[] newEntries = new IClasspathEntry[entries.length + 1]; System.arraycopy(entries, 0, newEntries, 0, entries.length); newEntries[newEntries.length - 1] = JavaCore.newContainerEntry(REQUIRED_PLUGINS_CONTAINER_PATH); javaProject.setRawClasspath(newEntries, monitor); }// w ww .j a v a2 s. com } }
From source file:org.eclipse.libra.facet.OSGiBundleFacetUninstallDelegate.java
License:Open Source License
private void removeRequiredBundlesClasspathContainer(IProject project, IProgressMonitor monitor) throws CoreException { if (isJavaProject(project)) { IJavaProject javaProject = JavaCore.create(project); IClasspathEntry[] entries = javaProject.getRawClasspath(); if (hasRequiredPlugins(entries)) { for (int i = 0; i < entries.length; i++) { if (isRequiredPlugins(entries[i])) { IClasspathEntry[] newEntries = new IClasspathEntry[entries.length - 1]; System.arraycopy(entries, 0, newEntries, 0, i); System.arraycopy(entries, i + 1, newEntries, i, entries.length - i - 1); javaProject.setRawClasspath(newEntries, monitor); return; }//w w w. j a v a 2 s. c o m } } } }
From source file:org.eclipse.m2e.jdt.internal.AbstractJavaProjectConfigurator.java
License:Open Source License
private void removeMavenClasspathContainer(IProject project) throws JavaModelException { IJavaProject javaProject = JavaCore.create(project); if (javaProject != null) { // remove classpatch container from JavaProject ArrayList<IClasspathEntry> newEntries = new ArrayList<IClasspathEntry>(); for (IClasspathEntry entry : javaProject.getRawClasspath()) { if (!MavenClasspathHelpers.isMaven2ClasspathContainer(entry.getPath())) { newEntries.add(entry);/* w w w . j a v a2 s.c o m*/ } } javaProject.setRawClasspath(newEntries.toArray(new IClasspathEntry[newEntries.size()]), null); } }
From source file:org.eclipse.m2e.jdt.internal.BuildPathManager.java
License:Open Source License
void attachSourcesAndJavadoc(IPackageFragmentRoot fragment, File sources, File javadoc, IProgressMonitor monitor) {/* www . ja v a 2s . co m*/ IJavaProject javaProject = fragment.getJavaProject(); IPath srcPath = sources != null ? Path.fromOSString(sources.getAbsolutePath()) : null; String javaDocUrl = getJavaDocUrl(javadoc); try { IClasspathEntry[] cp = javaProject.getRawClasspath(); for (int i = 0; i < cp.length; i++) { IClasspathEntry entry = cp[i]; if (IClasspathEntry.CPE_LIBRARY == entry.getEntryKind() && entry.equals(fragment.getRawClasspathEntry())) { List<IClasspathAttribute> attributes = new ArrayList<IClasspathAttribute>( Arrays.asList(entry.getExtraAttributes())); if (srcPath == null) { // configure javadocs if available if (javaDocUrl != null) { attributes.add(JavaCore.newClasspathAttribute( IClasspathAttribute.JAVADOC_LOCATION_ATTRIBUTE_NAME, javaDocUrl)); } } cp[i] = JavaCore.newLibraryEntry(entry.getPath(), srcPath, null, entry.getAccessRules(), // attributes.toArray(new IClasspathAttribute[attributes.size()]), // entry.isExported()); break; } } javaProject.setRawClasspath(cp, monitor); } catch (CoreException e) { log.error(e.getMessage(), e); } }
From source file:org.eclipse.m2e.tests.BuildPathManagerTest.java
License:Open Source License
public void testDownloadSources_006_nonMavenProject() throws Exception { RepositoryRegistry repositoryRegistry = (RepositoryRegistry) MavenPlugin.getRepositoryRegistry(); repositoryRegistry.updateRegistry(monitor); NexusIndexManager indexManager = (NexusIndexManager) MavenPlugin.getIndexManager(); indexManager.getIndexUpdateJob().join(); IMutableIndex localIndex = indexManager.getLocalIndex(); localIndex.updateIndex(true, monitor); for (IRepository repository : repositoryRegistry.getRepositories(IRepositoryRegistry.SCOPE_SETTINGS)) { if ("file:repositories/remoterepo".equals(repository.getUrl())) { NexusIndex remoteIndex = indexManager.getIndex(repository); remoteIndex.updateIndex(true, monitor); // actually scan the repo }/*from w w w . j av a2 s . c o m*/ } IProject project = createExisting("downloadsources-p006", "projects/downloadsources/p006"); File log4jJar = new File("repositories/remoterepo/log4j/log4j/1.2.13/log4j-1.2.13.jar"); Path log4jPath = new Path(log4jJar.getAbsolutePath()); File junitJar = new File("repositories/remoterepo/junit/junit/3.8.1/junit-3.8.1.jar"); Path junitPath = new Path(junitJar.getAbsolutePath()); IJavaProject javaProject = JavaCore.create(project); IClasspathEntry[] origCp = javaProject.getRawClasspath(); IClasspathEntry[] cp = new IClasspathEntry[origCp.length + 2]; System.arraycopy(origCp, 0, cp, 0, origCp.length); cp[cp.length - 2] = JavaCore.newLibraryEntry(log4jPath, null, null, true); cp[cp.length - 1] = JavaCore.newLibraryEntry(junitPath, null, null, false); javaProject.setRawClasspath(cp, monitor); getBuildPathManager().scheduleDownload(javaProject.findPackageFragmentRoot(log4jPath), true, false); waitForJobsToComplete(); cp = javaProject.getRawClasspath(); assertEquals(log4jJar.getAbsoluteFile(), cp[cp.length - 2].getPath().toFile()); assertEquals("log4j-1.2.13-sources.jar", cp[cp.length - 2].getSourceAttachmentPath().lastSegment()); assertEquals(true, cp[cp.length - 2].isExported()); getBuildPathManager().scheduleDownload(javaProject.findPackageFragmentRoot(junitPath), true, false); waitForJobsToComplete(); assertEquals(junitJar.getAbsoluteFile(), cp[cp.length - 1].getPath().toFile()); assertEquals("junit-3.8.1-sources.jar", cp[cp.length - 1].getSourceAttachmentPath().lastSegment()); assertEquals(false, cp[cp.length - 1].isExported()); }
From source file:org.eclipse.m2e.tests.jdt.JavaClasspathTest.java
License:Open Source License
public void test486739_PreserveExportedOnUpdate() throws Exception { IProject project = importProject("projects/486739_exportedContainer/pom.xml"); //assertNoErrors(project); IJavaProject javaProject = JavaCore.create(project); IClasspathEntry[] originalCp = javaProject.getRawClasspath(); assertEquals(5, originalCp.length);// w w w . j a v a 2s . c om assertEquals("org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER", originalCp[4].getPath().segment(0)); assertFalse(originalCp[4].isExported()); originalCp[4] = MavenClasspathHelpers.getDefaultContainerEntry(true); javaProject.setRawClasspath(originalCp, monitor); MavenPlugin.getProjectConfigurationManager().updateProjectConfiguration(project, monitor); waitForJobsToComplete(); //assertNoErrors(project); javaProject = JavaCore.create(project); IClasspathEntry[] updatedCp = javaProject.getRawClasspath(); assertEquals("classpath changed on update", originalCp.length, updatedCp.length); assertEquals("org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER", updatedCp[4].getPath().segment(0)); assertTrue(updatedCp[4].isExported()); }
From source file:org.eclipse.m2e.tests.jdt.JavaClasspathTest.java
License:Open Source License
public void test398121_PreserveOrderOfClasspathContainersOnUpdate() throws Exception { IProject project = importProject("orderOf-classpath-containers", "projects/customclasspath/classpath-containers", new ResolverConfiguration()); IJavaProject javaProject = JavaCore.create(project); IClasspathEntry[] cp = javaProject.getRawClasspath(); assertEquals(5, cp.length);//from w w w. ja v a 2s . co m assertClasspath(new String[] { // "org.eclipse.jdt.launching.JRE_CONTAINER/.*", // "org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER", // "container1", // "/orderOf-classpath-containers/src/main/java", // "/orderOf-classpath-containers/src/test/java" // }, cp); // Simulate user changes the order or the classpath entries. The order should be preserved during update if nothing changes in the pom.xml IClasspathEntry[] newOrder = new IClasspathEntry[] { cp[2], cp[3], cp[1], cp[0], cp[4] }; javaProject.setRawClasspath(newOrder, null); // Update the project MavenPlugin.getProjectConfigurationManager().updateProjectConfiguration(project, monitor); waitForJobsToComplete(); cp = javaProject.getRawClasspath(); assertEquals(5, cp.length); assertClasspath(new String[] { // "container1", // "/orderOf-classpath-containers/src/main/java", // "org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER", // "org.eclipse.jdt.launching.JRE_CONTAINER/.*", // "/orderOf-classpath-containers/src/test/java" // }, cp); // Simulate another change to the classpath newOrder = new IClasspathEntry[] { cp[0], cp[1], cp[3], cp[2], cp[4] }; javaProject.setRawClasspath(newOrder, null); // Update the project MavenPlugin.getProjectConfigurationManager().updateProjectConfiguration(project, monitor); waitForJobsToComplete(); cp = javaProject.getRawClasspath(); assertEquals(5, cp.length); assertClasspath(new String[] { // "container1", // "/orderOf-classpath-containers/src/main/java", // "org.eclipse.jdt.launching.JRE_CONTAINER/.*", // "org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER", // "/orderOf-classpath-containers/src/test/java" // }, cp); }
From source file:org.eclipse.m2e.wtp.WTPProjectsUtil.java
License:Open Source License
/** * Remove the WTP classpath containers that might conflicts with the Maven Library * classpath container /*from w w w . j a v a 2 s .co m*/ * @param project * @throws JavaModelException */ public static void removeWTPClasspathContainer(IProject project) throws JavaModelException { IJavaProject javaProject = JavaCore.create(project); if (javaProject != null) { // remove classpatch container from JavaProject ArrayList<IClasspathEntry> newEntries = new ArrayList<IClasspathEntry>(); for (IClasspathEntry entry : javaProject.getRawClasspath()) { String path = entry.getPath().toString(); if (!"org.eclipse.jst.j2ee.internal.module.container".equals(path) && !"org.eclipse.jst.j2ee.internal.web.container".equals(path)) { newEntries.add(entry); } } javaProject.setRawClasspath(newEntries.toArray(new IClasspathEntry[newEntries.size()]), null); } }
From source file:org.eclipse.m2e.wtp.WTPProjectsUtil.java
License:Open Source License
public static void updateContainerAttributes(IProject project, IClasspathAttribute attributeToAdd, String attributeToDelete, IProgressMonitor monitor) throws JavaModelException { IJavaProject javaProject = JavaCore.create(project); if (javaProject == null) return;//www.j a v a 2s . co m IClasspathEntry[] cp = javaProject.getRawClasspath(); for (int i = 0; i < cp.length; i++) { if (IClasspathEntry.CPE_CONTAINER == cp[i].getEntryKind() && MavenClasspathHelpers.isMaven2ClasspathContainer(cp[i].getPath())) { LinkedHashMap<String, IClasspathAttribute> attrs = new LinkedHashMap<String, IClasspathAttribute>(); for (IClasspathAttribute attr : cp[i].getExtraAttributes()) { if (!attr.getName().equals(attributeToDelete)) { attrs.put(attr.getName(), attr); } } attrs.put(attributeToAdd.getName(), attributeToAdd); IClasspathAttribute[] newAttrs = attrs.values().toArray(new IClasspathAttribute[attrs.size()]); cp[i] = JavaCore.newContainerEntry(cp[i].getPath(), cp[i].getAccessRules(), newAttrs, cp[i].isExported()); break; } } javaProject.setRawClasspath(cp, monitor); }