aboutsummaryrefslogtreecommitdiffstats
path: root/tools/eclipse
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-08-09 14:47:09 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-08-09 14:47:09 +0000
commit06057a5a8124dcbc3ea4430bafdd91f9f12ce96c (patch)
tree14d18106f30696f9bd93f401f4456e4693d926bd /tools/eclipse
parentc772b5d61e22486616a97e962cb2173c2a536b7d (diff)
downloadChibiOS-06057a5a8124dcbc3ea4430bafdd91f9f12ce96c.tar.gz
ChibiOS-06057a5a8124dcbc3ea4430bafdd91f9f12ce96c.tar.bz2
ChibiOS-06057a5a8124dcbc3ea4430bafdd91f9f12ce96c.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4548 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'tools/eclipse')
-rw-r--r--tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/NewApplicationProjectWizard.java92
1 files changed, 34 insertions, 58 deletions
diff --git a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/NewApplicationProjectWizard.java b/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/NewApplicationProjectWizard.java
index 7df459b3b..8f0ff5471 100644
--- a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/NewApplicationProjectWizard.java
+++ b/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/NewApplicationProjectWizard.java
@@ -2,20 +2,23 @@ package org.chibios.tools.eclipse.config.wizards;
import java.lang.reflect.InvocationTargetException;
-import org.eclipse.cdt.core.CProjectNature;
import org.eclipse.cdt.core.CCorePlugin;
-import org.eclipse.cdt.managedbuilder.core.BuildException;
-import org.eclipse.cdt.managedbuilder.core.IManagedBuildInfo;
-import org.eclipse.cdt.managedbuilder.core.IManagedProject;
-import org.eclipse.cdt.managedbuilder.core.IProjectType;
+import org.eclipse.cdt.core.model.CoreModel;
+import org.eclipse.cdt.core.settings.model.ICProjectDescription;
+import org.eclipse.cdt.core.settings.model.ICProjectDescriptionManager;
+import org.eclipse.cdt.core.settings.model.extension.CConfigurationData;
+import org.eclipse.cdt.managedbuilder.core.IBuilder;
import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
-import org.eclipse.cdt.managedbuilder.core.ManagedBuilderCorePlugin;
-import org.eclipse.cdt.managedbuilder.core.ManagedCProjectNature;
+import org.eclipse.cdt.managedbuilder.internal.core.Configuration;
+import org.eclipse.cdt.managedbuilder.internal.core.ManagedProject;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.operation.IRunnableWithProgress;
@@ -25,6 +28,7 @@ import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
+@SuppressWarnings("restriction")
public class NewApplicationProjectWizard extends Wizard implements INewWizard {
private NewApplicationProjectWizardPage page;
@@ -97,67 +101,39 @@ public class NewApplicationProjectWizard extends Wizard implements INewWizard {
*/
private void doFinish(IProgressMonitor monitor) throws CoreException {
+ IWorkspace workspace = ResourcesPlugin.getWorkspace();
+ IWorkspaceRoot root = workspace.getRoot();
+
monitor.beginTask("Creating " + projectName, 3);
/* Step #1, creates the project file.*/
- IProject newProject = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
- if (newProject.exists()) {
+ IProject project = root.getProject(projectName);
+ if (project.exists()) {
monitor.done();
MessageDialog.openError(getShell(), "Error", "Project " + projectName +
" already exists in workspace");
return;
}
-
- IProjectDescription desc = newProject.getWorkspace().newProjectDescription(newProject.getName());
- if (finalProjectPath != null)
- desc.setLocation(new Path(finalProjectPath));
- CCorePlugin corePlugin = CCorePlugin.getDefault();
- newProject = corePlugin.createCProject(desc, newProject, null,
- ManagedBuilderCorePlugin.MANAGED_MAKE_PROJECT_ID);
- IManagedBuildInfo managedBuildInfo = ManagedBuildManager.createBuildInfo(newProject);
- ManagedCProjectNature.addManagedNature(newProject, null);
- ManagedCProjectNature.addManagedBuilder(newProject, null);
-
- IProjectType parentProjectType;
- try {
- IManagedProject newManagedProject = ManagedBuildManager
- .createManagedProject(newProject, ManagedBuildManager.getProjectType(""));
- }
- catch (BuildException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return;
-
-
-/*
- IProjectDescription desc = newProject.getWorkspace().newProjectDescription(newProject.getName());
+ IProjectDescription desc = project.getWorkspace().newProjectDescription(projectName);
if (finalProjectPath != null)
desc.setLocation(new Path(finalProjectPath));
- try {
- newProject.create(desc, null);
- if (!newProject.isOpen()) {
- newProject.open(null);
- }
- } catch (CoreException e) {
- monitor.done();
- MessageDialog.openError(getShell(), "Error", "Project " + projectName +
- " creation failed: " + e.getMessage());
- return;
- }
- monitor.worked(1);*/
-
- /* Step #2, adding builders.*/
-/* desc = newProject.getDescription();
- String[] build_configs = new String[] {ManagedCProjectNature.BUILDER_ID,
- "org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder"};
- desc.setBuildConfigs(build_configs);
- newProject.setDescription(desc, null);*/
-// CProjectNature.addCNature(newProject, null);
-// ManagedCProjectNature.addNature(newProject, ManagedCProjectNature.MNG_NATURE_ID, null);
-// ManagedCProjectNature.addNature(newProject, "org.eclipse.cdt.managedbuilder.core.ScannerConfigNature", null);
-// ManagedCProjectNature.addManagedBuilder(newProject, null);
-// monitor.worked(1);
+ project.create(desc, null);
+
+ /* Step #2, makes it a CDT project.*/
+ desc = workspace.newProjectDescription(projectName);
+ project = CCorePlugin.getDefault().createCDTProject(desc, project, new NullProgressMonitor());
+
+ ICProjectDescriptionManager mngr = CoreModel.getDefault().getProjectDescriptionManager();
+ ICProjectDescription cdesc = mngr.createProjectDescription(project, false);
+ ManagedProject mproject = new ManagedProject(cdesc);
+ Configuration cfg = new Configuration(mproject, null, "Default", "Default");
+ IBuilder bld = cfg.getEditableBuilder();
+ bld.setManagedBuildOn(false);
+ CConfigurationData data = cfg.getConfigurationData();
+ cdesc.createConfiguration(ManagedBuildManager.CFG_DATA_PROVIDER_ID, data);
+
+ mngr.setProjectDescription(project, cdesc);
+ monitor.worked(1);
}
}