/** * Remove the list of projects from the list of "referenced projects" in the project's description. * * @param project * @param toBeRemovedProjectList * @throws org.eclipse.core.runtime.CoreException * * @since 1.0.0 */ public static void removeReferenceProjects(IProject project, List toBeRemovedProjectList) throws org.eclipse.core.runtime.CoreException { IProjectDescription description = project.getDescription(); IProject[] projects = description.getReferencedProjects(); ArrayList projectsList = new ArrayList(); for (int i = 0; i < projects.length; i++) { projectsList.add(projects[i]); } for (int i = 0; i < toBeRemovedProjectList.size(); i++) { projectsList.remove(toBeRemovedProjectList.get(i)); } IProject[] refProjects = new IProject[projectsList.size()]; for (int i = 0; i < refProjects.length; i++) { refProjects[i] = (IProject) (projectsList.get(i)); } description.setReferencedProjects(refProjects); project.setDescription(description, null); }
/** * Add the list of projects to end of the "referenced projects" list from the project's description. * * @param project * @param toBeAddedProjectsList * @throws CoreException * * @since 1.0.0 */ public static void addReferenceProjects(IProject project, List toBeAddedProjectsList) throws CoreException { IProjectDescription description = project.getDescription(); IProject[] projects = description.getReferencedProjects(); ArrayList projectsList = new ArrayList(); for (int i = 0; i < projects.length; i++) { projectsList.add(projects[i]); } for (int i = 0; i < toBeAddedProjectsList.size(); i++) { projectsList.add(toBeAddedProjectsList.get(i)); } IProject[] refProjects = new IProject[projectsList.size()]; for (int i = 0; i < refProjects.length; i++) { refProjects[i] = (IProject) (projectsList.get(i)); } description.setReferencedProjects(refProjects); project.setDescription(description, null); }
/** * Add the single project to the end of the "referenced projects" list from the project's description. * * @param project * @param projectToBeAdded * @throws CoreException * * @since 1.0.0 */ public static void addReferenceProjects(IProject project, IProject projectToBeAdded) throws CoreException { IProjectDescription description = project.getDescription(); IProject[] projects = description.getReferencedProjects(); ArrayList projectsList = new ArrayList(); for (int i = 0; i < projects.length; i++) { projectsList.add(projects[i]); } projectsList.add(projectToBeAdded); IProject[] refProjects = new IProject[projectsList.size()]; for (int i = 0; i < refProjects.length; i++) { refProjects[i] = (IProject) (projectsList.get(i)); } description.setReferencedProjects(refProjects); project.setDescription(description, null); }
/** * Remove the project from the list of "referenced projects" in the description for the given project. * * @param project * @param toBeRemovedProject * @throws org.eclipse.core.runtime.CoreException * * @since 1.0.0 */ public static void removeReferenceProjects(IProject project, IProject toBeRemovedProject) throws org.eclipse.core.runtime.CoreException { IProjectDescription description = project.getDescription(); IProject[] projects = description.getReferencedProjects(); ArrayList projectsList = new ArrayList(); for (int i = 0; i < projects.length; i++) { projectsList.add((projects[i])); } projectsList.remove(toBeRemovedProject); IProject[] refProjects = new IProject[projectsList.size()]; for (int i = 0; i < refProjects.length; i++) { refProjects[i] = (IProject) (projectsList.get(i)); } description.setReferencedProjects(refProjects); project.setDescription(description, null); }
protected void updateRequiredProjects(IJavaProject jproject, String[] prevRequiredProjects, IProgressMonitor monitor) throws CoreException { String[] newRequiredProjects = jproject.getRequiredProjectNames(); ArrayList prevEntries = new ArrayList(Arrays.asList(prevRequiredProjects)); ArrayList newEntries = new ArrayList(Arrays.asList(newRequiredProjects)); IProject proj = jproject.getProject(); IProjectDescription projDesc = proj.getDescription(); ArrayList newRefs = new ArrayList(); IProject[] referencedProjects = projDesc.getReferencedProjects(); for (int i = 0; i < referencedProjects.length; i++) { String curr = referencedProjects[i].getName(); if (newEntries.remove(curr) || !prevEntries.contains(curr)) { newRefs.add(referencedProjects[i]); } } IWorkspaceRoot root = proj.getWorkspace().getRoot(); for (int i = 0; i < newEntries.size(); i++) { String curr = (String) newEntries.get(i); newRefs.add(root.getProject(curr)); } projDesc.setReferencedProjects((IProject[]) newRefs.toArray(new IProject[newRefs.size()])); proj.setDescription(projDesc, monitor); } }
protected IProjectDescription createProjectDescription() { final IProjectDescription projectDescription = workspace.newProjectDescription(projectName); if (location != null && !Platform.getLocation().equals(location.removeLastSegments(1))) { projectDescription.setLocation(location); } if (referencedProjects != null && referencedProjects.size() != 0) { projectDescription .setReferencedProjects(referencedProjects.toArray(new IProject[referencedProjects.size()])); } if (projectNatures != null) projectDescription.setNatureIds(projectNatures.toArray(new String[projectNatures.size()])); if (builderIds != null) setBuilder(projectDescription, builderIds.toArray(new String[builderIds.size()])); return projectDescription; }
@Override protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException { IProjectDescription projectDescription = from.getDescription(); IProject[] projects = projectDescription .getReferencedProjects(); IProject[] newProjects = new IProject[projects.length + 1]; System.arraycopy(projects, 0, newProjects, 0, projects.length); newProjects[projects.length] = to; projectDescription.setReferencedProjects(newProjects); from.setDescription(projectDescription, monitor()); } }.run(monitor());
@Override protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException { IProjectDescription projectDescription = from.getDescription(); IProject[] projects = projectDescription .getReferencedProjects(); IProject[] newProjects = new IProject[projects.length + 1]; System.arraycopy(projects, 0, newProjects, 0, projects.length); newProjects[projects.length] = to; projectDescription.setReferencedProjects(newProjects); from.setDescription(projectDescription, monitor()); } }.run(monitor());
@Override protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException { IProjectDescription projectDescription = from.getDescription(); IProject[] projects = projectDescription .getReferencedProjects(); for (int i = 0; i < projects.length; ++i) { if (to.equals(projects[i])) { // Remove the nature IProject[] newProjects = new IProject[projects.length - 1]; System.arraycopy(projects, 0, newProjects, 0, i); System.arraycopy(projects, i + 1, newProjects, i, projects.length - i - 1); projectDescription.setReferencedProjects(newProjects); from.setDescription(projectDescription, null); return; } } } }.run(monitor());
@Override protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException { IProjectDescription projectDescription = from.getDescription(); IProject[] projects = projectDescription .getReferencedProjects(); for (int i = 0; i < projects.length; ++i) { if (to.equals(projects[i])) { // Remove the nature IProject[] newProjects = new IProject[projects.length - 1]; System.arraycopy(projects, 0, newProjects, 0, i); System.arraycopy(projects, i + 1, newProjects, i, projects.length - i - 1); projectDescription.setReferencedProjects(newProjects); from.setDescription(projectDescription, null); return; } } } }.run(monitor());
@Override public void run(IMarker marker) { try { IProject project = marker.getResource().getProject(); if (project == null) return; IProjectDescription projDesc = project.getDescription(); if (projDesc == null) return; projDesc.setReferencedProjects(new IProject[0]); project.setDescription(projDesc, null); } catch (CoreException e) { } }
public boolean doUpdateClasspath(IProgressMonitor monitor, IPluginModelBase[] models) throws CoreException { monitor.beginTask(PDEUIMessages.UpdateClasspathJob_task, models.length); try { for (IPluginModelBase model : models) { monitor.subTask(model.getPluginBase().getId()); // no reason to compile classpath for a non-Java model IProject project = model.getUnderlyingResource().getProject(); if (!project.hasNature(JavaCore.NATURE_ID)) { monitor.worked(1); continue; } IProjectDescription projDesc = project.getDescription(); if (projDesc == null) continue; projDesc.setReferencedProjects(new IProject[0]); project.setDescription(projDesc, null); IFile file = project.getFile(".project"); //$NON-NLS-1$ if (file.exists()) file.deleteMarkers(PDEMarkerFactory.MARKER_ID, true, IResource.DEPTH_ZERO); ClasspathComputer.setClasspath(project, model); monitor.worked(1); if (monitor.isCanceled()) return false; } } finally { monitor.done(); } return true; }
description.setReferencedProjects(refs); project.setDescription(description, monitor); } catch (CoreException e) {
public static IProject copyProject(String projectName) throws CoreException { IProgressMonitor m = new NullProgressMonitor(); IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot(); IProject project = workspaceRoot.getProject(projectName); IProjectDescription projectDescription = project.getDescription(); String cloneName = projectName + "_copy"; // create clone project in workspace IProjectDescription cloneDescription = workspaceRoot.getWorkspace().newProjectDescription(cloneName); // copy project files project.copy(cloneDescription, true, m); IProject clone = workspaceRoot.getProject(cloneName); // copy the project properties cloneDescription.setNatureIds(projectDescription.getNatureIds()); cloneDescription.setReferencedProjects(projectDescription.getReferencedProjects()); cloneDescription.setDynamicReferences(projectDescription.getDynamicReferences()); cloneDescription.setBuildSpec(projectDescription.getBuildSpec()); cloneDescription.setReferencedProjects(projectDescription.getReferencedProjects()); clone.setDescription(cloneDescription, null); return clone; }
private IProject configNewProject(IWorkspaceRoot root, String name, String[] natureIds, IProject[] referencedProjects, IProgressMonitor monitor) throws InvocationTargetException { try { IProject project = root.getProject(name); if (!project.exists()) { project.create(null); } if (!project.isOpen()) { project.open(null); } IProjectDescription desc = project.getDescription(); desc.setLocation(null); desc.setNatureIds(natureIds); desc.setReferencedProjects(referencedProjects); project.setDescription(desc, new SubProgressMonitor(monitor, 1)); return project; } catch (CoreException e) { throw new InvocationTargetException(e); } }
IProject[] refProjects = referencePage.getReferencedProjects(); if (refProjects.length > 0) { description.setReferencedProjects(refProjects);
projectDescription.setReferencedProjects (referencedProjects.toArray(new IProject[referencedProjects.size()])); for (IProject referencedProject : referencedProjects)
projectDescription.setReferencedProjects (referencedProjects.toArray(new IProject[referencedProjects.size()])); for (IProject referencedProject : referencedProjects)
.getDynamicReferences()); desc.setNatureIds(record.description.getNatureIds()); desc.setReferencedProjects(record.description .getReferencedProjects()); record.description = desc;