Example usage for org.eclipse.jdt.core IJavaProject setRawClasspath

List of usage examples for org.eclipse.jdt.core IJavaProject setRawClasspath

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaProject setRawClasspath.

Prototype

void setRawClasspath(IClasspathEntry[] entries, IProgressMonitor monitor) throws JavaModelException;

Source Link

Document

Sets the classpath of this project using a list of classpath entries.

Usage

From source file:org.eclipse.che.plugin.maven.server.core.MavenWorkspace.java

License:Open Source License

private void updateJavaProject(MavenProject project) {
    IJavaProject javaProject = JavaCore.create(project.getProject());
    try {/*ww w  .  j  ava 2 s  . c o m*/
        ClasspathHelper helper = new ClasspathHelper(javaProject);
        project.getSources().stream().map(s -> project.getProject().getFullPath().append(s))
                .forEach(helper::addSourceEntry);
        project.getTestSources().stream().map(s -> project.getProject().getFullPath().append(s))
                .forEach(helper::addSourceEntry);
        //add maven classpath container
        helper.addContainerEntry(new Path(MavenClasspathContainer.CONTAINER_ID));
        //add JRE classpath container
        helper.addContainerEntry(new Path(JREContainerInitializer.JRE_CONTAINER));

        javaProject.setRawClasspath(helper.getEntries(), null);
    } catch (JavaModelException e) {
        LOG.error("Can't update Java project classpath", e);
    }
}

From source file:org.eclipse.che.plugin.maven.server.core.MavenWorkspace.java

License:Open Source License

private void addSourcesFromBuildHelperPlugin(MavenProject project) {
    IJavaProject javaProject = JavaCore.create(project.getProject());
    try {/*from  w ww.  j  a  va 2  s . co m*/
        ClasspathHelper helper = new ClasspathHelper(javaProject);

        Element pluginConfigurationSource = project.getPluginConfiguration("org.codehaus.mojo",
                "build-helper-maven-plugin", "add-source");

        Element pluginConfigurationTestSource = project.getPluginConfiguration("org.codehaus.mojo",
                "build-helper-maven-plugin", "add-test-source");

        addSourcePathFromConfiguration(helper, project, pluginConfigurationSource);
        addSourcePathFromConfiguration(helper, project, pluginConfigurationTestSource);
        javaProject.setRawClasspath(helper.getEntries(), null);
    } catch (JavaModelException e) {
        LOG.error("Can't update Java project classpath with Maven build helper plugin configuration", e);
    }
}

From source file:org.eclipse.contribution.weaving.jdt.tests.WeavingTestCase.java

License:Open Source License

private IPackageFragmentRoot createDefaultSourceFolder(IJavaProject javaProject) throws CoreException {
    IProject project = javaProject.getProject();
    IFolder folder = project.getFolder("src");
    if (!folder.exists())
        ensureExists(folder);//from w  w w.j  av a2  s.co  m
    final IClasspathEntry[] entries = javaProject.getResolvedClasspath(false);
    final IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(folder);
    for (int i = 0; i < entries.length; i++) {
        final IClasspathEntry entry = entries[i];
        if (entry.getPath().equals(folder.getFullPath()))
            return root;
    }
    IClasspathEntry[] oldEntries = javaProject.getRawClasspath();
    IClasspathEntry[] newEntries = new IClasspathEntry[oldEntries.length + 1];
    System.arraycopy(oldEntries, 0, newEntries, 0, oldEntries.length);
    newEntries[oldEntries.length] = JavaCore.newSourceEntry(root.getPath());
    javaProject.setRawClasspath(newEntries, null);
    return root;
}

From source file:org.eclipse.dltk.freemarker.internal.ui.wizards.FreemarkerNewProjectWizard.java

License:Open Source License

private void setClasspath(IProject project) throws JavaModelException, CoreException {
    IJavaProject javaProject = JavaCore.create(project);
    // Set output folder
    //if (data.getOutputFolderName() != null) {
    IPath path = project.getFullPath().append("bin");
    javaProject.setOutputLocation(path, null);
    //}/*from w w w. ja  v  a 2  s .  c o  m*/
    IClasspathEntry[] entries = getClassPathEntries(javaProject);
    javaProject.setRawClasspath(entries, null);
}

From source file:org.eclipse.e4.xwt.tools.ui.designer.jdt.ProjectHelper.java

License:Open Source License

public static void addJars(IJavaProject javaProject) {
    try {/*ww w. j ava 2 s  .c o m*/
        IClasspathEntry[] oldclasspath = javaProject.getRawClasspath();
        for (int i = 0; i < oldclasspath.length; i++) {
            if ((oldclasspath[i]).getPath().toString().equals(IContainerConstants.LIB_CONTAINER)) {
                return;
            }
        }

        ClasspathContainer container = ProjectHelper.createContainer();

        IClasspathEntry newContainerEntry = JavaCore.newContainerEntry(container.getPath());
        JavaCore.setClasspathContainer(newContainerEntry.getPath(), new IJavaProject[] { javaProject },
                new IClasspathContainer[] { container }, null);

        IClasspathEntry[] newclasspath = new IClasspathEntry[oldclasspath.length + 1];
        for (int i = 0; i < oldclasspath.length; i++) {
            newclasspath[i] = oldclasspath[i];
        }
        newclasspath[newclasspath.length - 1] = newContainerEntry;
        javaProject.setRawClasspath(newclasspath, null);
    } catch (JavaModelException javaModelException) {
        javaModelException.printStackTrace();
    }
}

From source file:org.eclipse.e4.xwt.tools.ui.designer.jdt.ProjectHelper.java

License:Open Source License

public static void removeJars(IJavaProject javaProject) {
    try {//from ww  w  .  ja  va2 s  .c  o  m
        IClasspathEntry[] oldclasspath = javaProject.getRawClasspath();
        for (int i = 0; i < oldclasspath.length; i++) {
            IPath path = oldclasspath[i].getPath();
            if (path.toString().equals(IContainerConstants.LIB_CONTAINER)) {
                oldclasspath[i] = null;
                break;
            }
            if (i == oldclasspath.length - 1) {
                return;
            }
        }

        IClasspathEntry[] newclasspath = new IClasspathEntry[oldclasspath.length - 1];
        for (int i = 0, m = 0; i < oldclasspath.length; i++) {
            if (oldclasspath[i] != null) {
                newclasspath[m++] = oldclasspath[i];
            }
        }
        javaProject.setRawClasspath(newclasspath, null);
    } catch (JavaModelException javaModelException) {
        javaModelException.printStackTrace();
    }
}

From source file:org.eclipse.e4.xwt.ui.jdt.ProjectHelper.java

License:Open Source License

public static void AddJars(IJavaProject javaProject) {
    try {/*from  w w  w  .  j  a v a 2 s.c o m*/
        IClasspathEntry[] oldclasspath = javaProject.getRawClasspath();
        for (int i = 0; i < oldclasspath.length; i++) {
            if ((oldclasspath[i]).getPath().toString().equals(IContainerConstants.LIB_CONTAINER)) {
                return;
            }
        }

        ClasspathContainer container = ProjectHelper.createContainer();

        IClasspathEntry newContainerEntry = JavaCore.newContainerEntry(container.getPath());
        JavaCore.setClasspathContainer(newContainerEntry.getPath(), new IJavaProject[] { javaProject },
                new IClasspathContainer[] { container }, null);

        IClasspathEntry[] newclasspath = new IClasspathEntry[oldclasspath.length + 1];
        for (int i = 0; i < oldclasspath.length; i++) {
            newclasspath[i] = oldclasspath[i];
        }
        newclasspath[newclasspath.length - 1] = newContainerEntry;
        javaProject.setRawClasspath(newclasspath, null);
    } catch (JavaModelException javaModelException) {
        javaModelException.printStackTrace();
    }
}

From source file:org.eclipse.e4.xwt.ui.jdt.ProjectHelper.java

License:Open Source License

public static void RemoveJars(IJavaProject javaProject) {
    try {//from   w  w  w .  j av  a2  s  .c  om
        IClasspathEntry[] oldclasspath = javaProject.getRawClasspath();
        for (int i = 0; i < oldclasspath.length; i++) {
            IPath path = oldclasspath[i].getPath();
            if (path.toString().equals(IContainerConstants.LIB_CONTAINER)) {
                oldclasspath[i] = null;
                break;
            }
            if (i == oldclasspath.length - 1) {
                return;
            }
        }

        IClasspathEntry[] newclasspath = new IClasspathEntry[oldclasspath.length - 1];
        for (int i = 0, m = 0; i < oldclasspath.length; i++) {
            if (oldclasspath[i] != null) {
                newclasspath[m++] = oldclasspath[i];
            }
        }
        javaProject.setRawClasspath(newclasspath, null);
    } catch (JavaModelException javaModelException) {
        javaModelException.printStackTrace();
    }
}

From source file:org.eclipse.e4.xwt.ui.utils.LibraryBuilder.java

License:Open Source License

private void updateJavaClasspathLibs(String[] oldPaths, String[] newPaths) {
    IJavaProject jproject = JavaCore.create(project);
    try {/* w w  w. ja v a  2s .com*/
        IClasspathEntry[] entries = jproject.getRawClasspath();
        ArrayList toBeAdded = new ArrayList();
        int index = -1;
        entryLoop: for (int i = 0; i < entries.length; i++) {
            if (entries[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
                if (index == -1)
                    index = i;
                // do not add the old paths (handling deletion/renaming)
                IPath path = entries[i].getPath().removeFirstSegments(1).removeTrailingSeparator();
                for (int j = 0; j < oldPaths.length; j++)
                    if (oldPaths[j] != null && path.equals(new Path(oldPaths[j]).removeTrailingSeparator()))
                        continue entryLoop;
            } else if (entries[i].getEntryKind() == IClasspathEntry.CPE_CONTAINER)
                if (index == -1)
                    index = i;
            toBeAdded.add(entries[i]);
        }
        if (index == -1)
            index = entries.length;

        // add paths
        for (int i = 0; i < newPaths.length; i++) {
            if (newPaths[i] == null)
                continue;
            IClasspathEntry entry = JavaCore.newLibraryEntry(project.getFullPath().append(newPaths[i]), null,
                    null, true);
            if (!toBeAdded.contains(entry))
                toBeAdded.add(index++, entry);
        }

        if (toBeAdded.size() == entries.length)
            return;

        IClasspathEntry[] updated = (IClasspathEntry[]) toBeAdded
                .toArray(new IClasspathEntry[toBeAdded.size()]);
        jproject.setRawClasspath(updated, null);
    } catch (JavaModelException e) {
    }
}

From source file:org.eclipse.eatop.eaadapter.ea2ecore.postprocessings.CreateReleaseZipFile.java

License:Open Source License

private void addToJavaClasspath(IProject project, IClasspathEntry entry)
        throws CoreException, JavaModelException {

    IJavaProject jPrj = JavaCore.create(project);

    IClasspathEntry[] clsPathEntries = jPrj.getRawClasspath();
    IClasspathEntry[] newClsPathEntries = new IClasspathEntry[clsPathEntries.length + 1];

    for (int i = 0; i < clsPathEntries.length; i++) {
        if (clsPathEntries[i].getPath().equals(entry.getPath())) {
            return;
        }/*w  w  w.java2s  .c om*/
        newClsPathEntries[i] = clsPathEntries[i];
    }

    newClsPathEntries[clsPathEntries.length] = entry;

    jPrj.setRawClasspath(newClsPathEntries, monitor);
}