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

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

Introduction

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

Prototype

void setOption(String optionName, String optionValue);

Source Link

Document

Helper method for setting one option value only.

Usage

From source file:com.android.ide.eclipse.adt.internal.project.ProjectHelper.java

License:Open Source License

/**
 * Checks, and fixes if needed, the compiler compliance level, and the source compatibility
 * level/*from w ww.j a v a2 s  .  co  m*/
 * @param javaProject The Java project to check and fix.
 */
public static final void checkAndFixCompilerCompliance(IJavaProject javaProject) {
    Pair<Integer, String> result = checkCompilerCompliance(javaProject);
    if (result.getFirst().intValue() != COMPILER_COMPLIANCE_OK) {
        // setup the preferred compiler compliance level.
        javaProject.setOption(JavaCore.COMPILER_COMPLIANCE, AdtConstants.COMPILER_COMPLIANCE_PREFERRED);
        javaProject.setOption(JavaCore.COMPILER_SOURCE, AdtConstants.COMPILER_COMPLIANCE_PREFERRED);
        javaProject.setOption(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM,
                AdtConstants.COMPILER_COMPLIANCE_PREFERRED);

        // clean the project to make sure we recompile
        try {
            javaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
        } catch (CoreException e) {
            AdtPlugin.printErrorToConsole(javaProject.getProject(),
                    "Project compiler settings changed. Clean your project.");
        }
    }
}

From source file:com.android.ide.eclipse.adt.project.ProjectHelper.java

License:Open Source License

/**
 * Checks, and fixes if needed, the compiler compliance level, and the source compatibility
 * level/*from   w ww  .  j  ava 2 s  . c  om*/
 * @param javaProject The Java project to check and fix.
 */
public static final void checkAndFixCompilerCompliance(IJavaProject javaProject) {
    if (checkCompilerCompliance(javaProject) != COMPILER_COMPLIANCE_OK) {
        // setup the preferred compiler compliance level.
        javaProject.setOption(JavaCore.COMPILER_COMPLIANCE, AndroidConstants.COMPILER_COMPLIANCE_PREFERRED);
        javaProject.setOption(JavaCore.COMPILER_SOURCE, AndroidConstants.COMPILER_COMPLIANCE_PREFERRED);
        javaProject.setOption(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM,
                AndroidConstants.COMPILER_COMPLIANCE_PREFERRED);

        // clean the project to make sure we recompile
        try {
            javaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
        } catch (CoreException e) {
            AdtPlugin.printErrorToConsole(javaProject.getProject(),
                    "Project compiler settings changed. Clean your project.");
        }
    }
}

From source file:com.android.ide.eclipse.mock.Mocks.java

License:Open Source License

public static IJavaProject createProject(IClasspathEntry[] entries, IPath outputLocation) throws Exception {
    IJavaProject javaProject = createMock(IJavaProject.class);
    final Capture<IClasspathEntry[]> capturedEntries = new Capture<IClasspathEntry[]>();
    Capture<IPath> capturedOutput = new Capture<IPath>();
    capturedEntries.setValue(entries);//from w  w w  .  j a v a2 s.c o  m
    capturedOutput.setValue(outputLocation);

    IProject project = createProject();
    expect(javaProject.getProject()).andReturn(project).anyTimes();
    expect(javaProject.getOutputLocation()).andReturn(capturedOutput.getValue()).anyTimes();

    expect(javaProject.getRawClasspath()).andAnswer(new IAnswer<IClasspathEntry[]>() {
        @Override
        public IClasspathEntry[] answer() throws Throwable {
            return capturedEntries.getValue();
        }
    }).anyTimes();

    javaProject.setRawClasspath(capture(capturedEntries), isA(IProgressMonitor.class));
    expectLastCall().anyTimes();

    javaProject.setRawClasspath(capture(capturedEntries), capture(capturedOutput), isA(IProgressMonitor.class));
    expectLastCall().anyTimes();

    final Capture<String> capturedCompliance = new Capture<String>();
    capturedCompliance.setValue("1.4");
    final Capture<String> capturedSource = new Capture<String>();
    capturedSource.setValue("1.4");
    final Capture<String> capturedTarget = new Capture<String>();
    capturedTarget.setValue("1.4");

    expect(javaProject.getOption(JavaCore.COMPILER_COMPLIANCE, true)).andAnswer(new IAnswer<String>() {
        @Override
        public String answer() throws Throwable {
            return capturedCompliance.getValue();
        }
    });
    expect(javaProject.getOption(JavaCore.COMPILER_SOURCE, true)).andAnswer(new IAnswer<String>() {
        @Override
        public String answer() throws Throwable {
            return capturedSource.getValue();
        }
    });
    expect(javaProject.getOption(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, true))
            .andAnswer(new IAnswer<String>() {
                @Override
                public String answer() throws Throwable {
                    return capturedTarget.getValue();
                }
            });

    javaProject.setOption(eq(JavaCore.COMPILER_COMPLIANCE), capture(capturedCompliance));
    expectLastCall().anyTimes();
    javaProject.setOption(eq(JavaCore.COMPILER_SOURCE), capture(capturedSource));
    expectLastCall().anyTimes();
    javaProject.setOption(eq(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM), capture(capturedTarget));
    expectLastCall().anyTimes();

    replay(javaProject);

    return javaProject;
}

From source file:com.buglabs.dragonfly.ui.actions.ConvertProjectActionDelegate.java

License:Open Source License

public void run(IAction action) {
    Job job = new Job("Convert Project") {

        @Override/*w  w w.j  a va 2  s  .c om*/
        protected IStatus run(IProgressMonitor monitor) {
            try {
                IJavaProject jproj = JavaCore.create(project);

                jproj.setOption(JavaCore.COMPILER_PB_ASSERT_IDENTIFIER, JavaCore.WARNING);
                jproj.setOption(JavaCore.COMPILER_PB_ENUM_IDENTIFIER, JavaCore.WARNING);

                IClasspathEntry[] importCP = jproj.getRawClasspath();
                List cpl = new ArrayList();
                IClasspathEntry jre = JavaCore.newContainerEntry(JavaRuntime.newDefaultJREContainerPath());
                IClasspathEntry pde = JavaCore
                        .newContainerEntry(new Path("org.eclipse.pde.core.requiredPlugins"));

                for (int i = 0; i < importCP.length; ++i) {
                    String cpName = importCP[i].getPath().toString();

                    if (cpName.equals("com.buglabs.osgi.concierge.jdt.ConciergeClasspathContainerInitializer")
                            || cpName.equals("com.buglabs.phoneme.personal.PhoneMEClasspathContainer")
                            || cpName.equals(
                                    "com.buglabs.osgi.concierge.jdt.OSGiBundleClassPathContainerInitializer")
                            || cpName.equals("org.eclipse.jdt.launching.JRE_CONTAINER")) {

                        if (!cpl.contains(jre)) {
                            cpl.add(jre);
                        }

                        if (!cpl.contains(pde)) {
                            cpl.add(pde);
                        }
                    } else {
                        System.out.println(cpName);
                        cpl.add(importCP[i]);
                    }
                }

                jproj.setRawClasspath((IClasspathEntry[]) cpl.toArray(new IClasspathEntry[cpl.size()]),
                        monitor);
                ConciergeUtils.addNatureToProject(project, "org.eclipse.pde.PluginNature", monitor);
                ConciergeUtils.removeNatureFromProject(project,
                        "com.buglabs.osgi.concierge.natures.ConciergeProjectNature", monitor);

                project.build(IncrementalProjectBuilder.CLEAN_BUILD, monitor);

                return Status.OK_STATUS;
            } catch (Exception e) {
                return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Unable to convert BUG project.", e);
            }
        }

    };

    job.schedule();
}

From source file:com.buglabs.dragonfly.ui.jobs.CreateBUGProjectJob.java

License:Open Source License

protected void execute(IProgressMonitor monitor)
        throws CoreException, InvocationTargetException, InterruptedException {
    IWorkspaceRoot wsroot = ResourcesPlugin.getWorkspace().getRoot();
    IProject proj = wsroot.getProject(projInfo.getProjectName());
    proj.create(monitor);/*w  w w .  jav  a 2 s .co m*/
    proj.open(monitor);

    addNatures(proj, monitor);
    createBinFolder(proj, monitor);
    createSrcFolder(proj, monitor);
    setProjectClassPath(proj, monitor);
    createManifest(proj, monitor);

    if (projInfo.isGenerateActivator()) {
        generateActivator(monitor);
    }

    // Set the java version for BUG jvm compatibility
    IJavaProject jproj = JavaCore.create(getProject());

    setJava16Options(jproj);

    jproj.setOption(JavaCore.COMPILER_PB_ASSERT_IDENTIFIER, JavaCore.WARNING);
    jproj.setOption(JavaCore.COMPILER_PB_ENUM_IDENTIFIER, JavaCore.WARNING);

    if (getBugProjectInfo().getOSGiServices().size() > 0
            || getBugProjectInfo().getModuleServices().size() > 0) {
        if (getBugProjectInfo().isGenerateSeparateApplicationClass()) {
            createApplication(monitor);
        }
    }
}

From source file:com.buglabs.dragonfly.ui.jobs.CreateBUGProjectJob.java

License:Open Source License

/**
 * Set java project options for using Java 1.6 Called if user selected Java
 * 1.6 on app creation//  w w w  .j ava 2  s  .c  om
 * 
 * @param jproj
 */
private void setJava16Options(IJavaProject jproj) {
    jproj.setOption(JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_1_6);
    jproj.setOption(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_6);
    jproj.setOption(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_1_6);
}

From source file:com.mtcflow.project.util.MTCProjectSupport.java

License:Open Source License

/**
 * For this marvelous project we need to: - create the default Eclipse
 * project - add the custom project nature - create the folder structure
 * /*w ww .  j a  v  a 2s. c om*/
 * @param projectName
 * @param location
 * @param natureId
 * @return
 */
public static IProject createProject(String projectName, URI location) {
    Assert.isNotNull(projectName);
    Assert.isTrue(projectName.trim().length() > 0);

    try {
        // create eclipse project
        IProject project = createBaseProject(projectName, location);
        project.setDefaultCharset("UTF-8", null);
        addNature(project);
        // create java project
        IJavaProject javaProject = JavaCore.create(project);
        javaProject.setOption(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_5);
        javaProject.setOption(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_1_5);
        javaProject.setOption(JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_1_5);

        // add bin/ouput folder
        IFolder binFolder = project.getFolder("bin");
        // binFolder.create(false, true, null);
        javaProject.setOutputLocation(binFolder.getFullPath(), null);

        // add libs to project class path
        List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>();
        IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();

        // create source folder
        IFolder sourceFolder = project.getFolder("src");
        sourceFolder.create(false, true, null);
        IPackageFragmentRoot srcRoot = javaProject.getPackageFragmentRoot(sourceFolder);
        IClasspathEntry[] cEntries = new IClasspathEntry[3];
        cEntries[0] = JavaRuntime.getDefaultJREContainerEntry();
        // cEntries[2] = JavaCore.new
        cEntries[1] = JavaCore.newSourceEntry(srcRoot.getPath());
        cEntries[2] = JavaCore.newContainerEntry(new Path("org.eclipse.pde.core.requiredPlugins"));
        javaProject.setRawClasspath(cEntries, null);
        /*
         * Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name:
         * LePlugine Bundle-SymbolicName: LePlugine Bundle-Version:
         * 1.0.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-1.7
         */
        String[] paths = { "transformations/T2M", //$NON-NLS-1$
                "transformations/M2M", //$NON-NLS-1$
                "transformations/M2T", //$NON-NLS-1$
                "transformations/HOT", //$NON-NLS-1$
                "mtcs", //$NON-NLS-1$ 
                "metamodels", //$NON-NLS-1$
                "libraries", //$NON-NLS-1$
                "scripts", //$NON-NLS-1$
                "validations", //$NON-NLS-1$
                "tests", //$NON-NLS-1$
                "models", "META-INF" }; //$NON-NLS-1$
        addToProjectStructure(javaProject.getProject(), paths);
        createTemplateFileInProjectAt(javaProject.getProject(), "build.properties", "build.properties");
        createTemplateFileInProjectAt(javaProject.getProject(), "default.mtc", "/mtcs/default.mtc");
        createTemplateFileInProjectAt(javaProject.getProject(), "default_diagram.mtcd", "/mtcs/default.mtcd");
        Manifest manifest = new Manifest();
        manifest.getMainAttributes().putValue("Manifest-Version", "1.0");
        manifest.getMainAttributes().putValue("Bundle-ManifestVersion", "2");
        manifest.getMainAttributes().putValue("Bundle-Name", projectName);
        manifest.getMainAttributes().putValue("Bundle-SymbolicName", projectName);
        manifest.getMainAttributes().putValue("Bundle-Version", "1.0.0");
        manifest.getMainAttributes().putValue("Require-Bundle",
                "com.mtcflow.model,com.mtcflow.engine,com.mtcflow.engine.core");
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        manifest.write(out);
        javaProject.getProject().getFile("/META-INF/MANIFEST.MF")
                .create(new ByteArrayInputStream(out.toByteArray()), true, null);
        return javaProject.getProject();
    } catch (Exception ex) {
        ex.printStackTrace();
        throw new RuntimeException("Error creating the project", ex);
    }
}

From source file:edu.brown.cs.bubbles.bedrock.BedrockProject.java

License:Open Source License

void localEditProject(Element pxml, IvyXmlWriter xw) throws BedrockException {
    String pnm = IvyXml.getAttrString(pxml, "NAME");
    IProject ip = findProject(pnm);/* ww  w  .  j  a  v a2s .  c  o m*/
    IJavaProject ijp = JavaCore.create(ip);
    List<IClasspathEntry> ents = new ArrayList<IClasspathEntry>();
    try {
        for (Element oe : IvyXml.children(pxml, "OPTION")) {
            String k = IvyXml.getAttrString(oe, "NAME");
            String v = IvyXml.getAttrString(oe, "VALUE");
            if (k.startsWith("edu.brown.cs.bubbles.bedrock.")) {
                String sfx = k.substring(29);
                QualifiedName qn = new QualifiedName("edu.brown.cs.bubbles.bedrock", sfx);
                try {
                    ip.setPersistentProperty(qn, v);
                } catch (CoreException e) {
                    BedrockPlugin.logD("Problem setting property " + qn + ": " + e);
                }
            } else
                ijp.setOption(k, v);
        }

        for (Element xe : IvyXml.children(pxml, "XPREF")) {
            String q = IvyXml.getAttrString(xe, "NODE");
            String k = IvyXml.getAttrString(xe, "KEY");
            String v = IvyXml.getAttrString(xe, "VALUE");
            IPreferencesService ps = Platform.getPreferencesService();
            Preferences rn = ps.getRootNode();
            Preferences qn = rn.node(q);
            qn.put(k, v);
        }

        for (IClasspathEntry cpe : ijp.getRawClasspath())
            ents.add(cpe);
        for (Element pe : IvyXml.children(pxml, "PATH")) {
            updatePathElement(ents, pe);
        }
        IClasspathEntry[] enta = new IClasspathEntry[ents.size()];
        enta = ents.toArray(enta);
        ijp.setRawClasspath(enta, new BedrockProgressMonitor(our_plugin, "Update Paths"));
        ijp.save(null, false);
    } catch (CoreException e) {
        throw new BedrockException("Problem editing project", e);
    }
}

From source file:org.bonitasoft.studio.common.repository.core.CreateBonitaBPMProjectOperation.java

License:Open Source License

private void createJavaProject(final IProgressMonitor monitor) {
    monitor.subTask(Messages.initializingJavaProject);
    final IJavaProject javaProject = asJavaProject();
    javaProject.setOption(JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_1_7);
    javaProject.setOption(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_7);
    javaProject.setOption(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_1_7);
    javaProject.setOption(JavaCore.CORE_JAVA_BUILD_INVALID_CLASSPATH, "ignore");
    monitor.worked(1);//from www  . j a  va 2  s. com
}

From source file:org.bonitasoft.studio.common.repository.Repository.java

License:Open Source License

protected void createJavaProject(IProject project) {
    monitorSubtask(Messages.initializingJavaProject);
    final IJavaProject javaProject = JavaCore.create(project);
    javaProject.setOption(JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_1_6);
    javaProject.setOption(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_6);
    javaProject.setOption(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_1_6);
    javaProject.setOption(JavaCore.CORE_JAVA_BUILD_INVALID_CLASSPATH, "ignore");
    CompilerUtils.setCompilerLevel(project, SpecifiedVersion._18);
    monitorWorked(1);/*from w w  w .  ja v  a  2s  . co m*/
}