mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
autotools: Remove unused wizards.
These extend deprecated classes and are not hooked anywhere so better to remove directly. Change-Id: I3be280cb7c24a92c633b2b055424609f99889412 Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
This commit is contained in:
parent
54ff537f95
commit
8b32e36ed7
2 changed files with 0 additions and 646 deletions
|
@ -1,327 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2002, 2005, 2009 IBM Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.internal.autotools.ui.wizards;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
import org.eclipse.cdt.autotools.core.AutotoolsNewProjectNature;
|
||||
import org.eclipse.cdt.autotools.ui.AutotoolsUIPlugin;
|
||||
import org.eclipse.cdt.core.CCorePlugin;
|
||||
import org.eclipse.cdt.core.ICDescriptor;
|
||||
import org.eclipse.cdt.internal.autotools.core.AutotoolsPropertyConstants;
|
||||
import org.eclipse.cdt.managedbuilder.core.BuildException;
|
||||
import org.eclipse.cdt.managedbuilder.core.IConfiguration;
|
||||
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.managedbuilder.core.ManagedBuildManager;
|
||||
import org.eclipse.cdt.managedbuilder.core.ManagedBuilderCorePlugin;
|
||||
import org.eclipse.cdt.managedbuilder.core.ManagedCProjectNature;
|
||||
import org.eclipse.cdt.managedbuilder.ui.wizards.MBSCustomPageManager;
|
||||
import org.eclipse.cdt.ui.newui.CDTHelpContextIds;
|
||||
import org.eclipse.cdt.ui.wizards.NewCCProjectWizard;
|
||||
import org.eclipse.cdt.ui.wizards.NewCProjectWizardPage;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
import org.eclipse.core.runtime.SubMonitor;
|
||||
import org.eclipse.jface.operation.IRunnableWithProgress;
|
||||
import org.eclipse.jface.wizard.IWizardPage;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.ui.PlatformUI;
|
||||
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class AutotoolsNewCCProjectWizardV2 extends NewCCProjectWizard {
|
||||
|
||||
protected static final String PREFIX = "WizardAutotoolsNewCCProjectV2"; //$NON-NLS-1$
|
||||
protected static final String OP_ERROR = PREFIX + ".op_error"; //$NON-NLS-1$
|
||||
protected static final String WZ_TITLE = PREFIX + ".title"; //$NON-NLS-1$
|
||||
protected static final String WZ_DESC = PREFIX + ".description"; //$NON-NLS-1$
|
||||
protected static final String WINDOW_TITLE = PREFIX + ".windowTitle"; //$NON-NLS-1$
|
||||
protected static final String CONF_TITLE = PREFIX + ".config.title"; //$NON-NLS-1$
|
||||
protected static final String CONF_DESC = PREFIX + ".config.desc"; //$NON-NLS-1$
|
||||
protected static final String OPTIONS_TITLE = PREFIX + ".options.title"; //$NON-NLS-1$
|
||||
protected static final String OPTIONS_DESC = PREFIX + ".options.desc"; //$NON-NLS-1$
|
||||
protected static final String MSG_ADD_NATURE = PREFIX + ".message.add_nature"; //$NON-NLS-1$
|
||||
protected static final String MSG_ADD_BUILDER = PREFIX + ".message.add_builder"; //$NON-NLS-1$
|
||||
protected static final String MSG_SAVE = PREFIX + ".message.save"; //$NON-NLS-1$
|
||||
|
||||
// Wizard pages
|
||||
protected CProjectPlatformPage projectConfigurationPage;
|
||||
protected NewAutotoolsProjectOptionPage optionPage;
|
||||
protected IProjectType projectType;
|
||||
|
||||
public AutotoolsNewCCProjectWizardV2() {
|
||||
this(AutotoolsUIPlugin.getResourceString(WZ_TITLE), AutotoolsUIPlugin.getResourceString(WZ_DESC));
|
||||
}
|
||||
|
||||
public AutotoolsNewCCProjectWizardV2(String title, String description) {
|
||||
super(title, description);
|
||||
}
|
||||
/**
|
||||
* Method getWzDescriptionResource, allows Wizard description label value
|
||||
* to be changed by subclasses
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
protected static String getWzDescriptionResource() {
|
||||
return AutotoolsUIPlugin.getResourceString(WZ_DESC);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method getWzTitleResource, allows Wizard description label value
|
||||
* to be changed by subclasses
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
protected static String getWzTitleResource() {
|
||||
return AutotoolsUIPlugin.getResourceString(WZ_TITLE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method getWindowTitleResource, allows Wizard Title label value to be
|
||||
* changed by subclasses
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
protected static String getWindowTitleResource() {
|
||||
return AutotoolsUIPlugin.getResourceString(WINDOW_TITLE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method getPrefix, allows prefix value to be changed by subclasses
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
protected static String getPrefix() {
|
||||
return PREFIX;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addPages() {
|
||||
// Add the default page for all new projects
|
||||
super.addPages();
|
||||
|
||||
// Add the configuration selection page
|
||||
projectConfigurationPage = new CProjectPlatformPage(PREFIX);
|
||||
projectConfigurationPage.setTitle(AutotoolsUIPlugin.getResourceString(CONF_TITLE));
|
||||
projectConfigurationPage.setDescription(AutotoolsUIPlugin.getResourceString(CONF_DESC));
|
||||
addPage(projectConfigurationPage);
|
||||
|
||||
// Add the options (tabbed) page
|
||||
optionPage = new NewAutotoolsProjectOptionPage(PREFIX);
|
||||
optionPage.setTitle(AutotoolsUIPlugin.getResourceString(OPTIONS_TITLE));
|
||||
optionPage.setDescription(AutotoolsUIPlugin.getResourceString(OPTIONS_DESC));
|
||||
addPage(optionPage);
|
||||
|
||||
// add custom pages
|
||||
MBSCustomPageManager.init();
|
||||
|
||||
// add stock pages
|
||||
MBSCustomPageManager.addStockPage(fMainPage, NewCProjectWizardPage.PAGE_ID);
|
||||
MBSCustomPageManager.addStockPage(projectConfigurationPage, CProjectPlatformPage.PAGE_ID);
|
||||
MBSCustomPageManager.addStockPage(optionPage, NewAutotoolsProjectOptionPage.PAGE_ID);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createPageControls(Composite pageContainer) {
|
||||
super.createPageControls( pageContainer );
|
||||
|
||||
IWizardPage [] pages = getPages();
|
||||
|
||||
if (pages != null) {
|
||||
for (int i = 0; i < pages.length; i++) {
|
||||
IWizardPage page = pages[i];
|
||||
if (page instanceof NewCProjectWizardPage) {
|
||||
// Setup the help information
|
||||
PlatformUI.getWorkbench().getHelpSystem().setHelp(pageContainer, CDTHelpContextIds.MAN_PROJ_WIZ_NAME_PAGE);
|
||||
}
|
||||
else if (page instanceof NewAutotoolsProjectOptionPage) {
|
||||
NewAutotoolsProjectOptionPage optionPage = (NewAutotoolsProjectOptionPage) page;
|
||||
optionPage.setupHelpContextIds();
|
||||
}
|
||||
// The other built-in page is the CProjectPlatformPage which already has a help id.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void updateProjectTypeProperties() {
|
||||
// Update the error parser list
|
||||
optionPage.updateProjectTypeProperties();
|
||||
}
|
||||
|
||||
protected void addNature(IProgressMonitor monitor) throws CoreException {
|
||||
monitor.beginTask("", 4);
|
||||
monitor.subTask(AutotoolsUIPlugin.getResourceString(MSG_ADD_NATURE));
|
||||
ManagedCProjectNature.addManagedNature(newProject, SubMonitor.convert(monitor, 1));
|
||||
monitor.subTask(AutotoolsUIPlugin.getResourceString(MSG_ADD_BUILDER));
|
||||
ManagedCProjectNature.addManagedBuilder(newProject, SubMonitor.convert(monitor, 1));
|
||||
monitor.subTask(AutotoolsUIPlugin.getResourceString(MSG_ADD_NATURE));
|
||||
AutotoolsNewProjectNature.addAutotoolsNature(newProject, SubMonitor.convert(monitor, 1));
|
||||
monitor.subTask(AutotoolsUIPlugin.getResourceString(MSG_ADD_BUILDER));
|
||||
AutotoolsNewProjectNature.addAutotoolsBuilder(newProject, SubMonitor.convert(monitor, 1));
|
||||
monitor.done();
|
||||
}
|
||||
|
||||
public IProjectType getProjectType() {
|
||||
return projectConfigurationPage.getProjectType();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doRun(IProgressMonitor monitor) throws CoreException {
|
||||
if (monitor == null) {
|
||||
monitor = new NullProgressMonitor();
|
||||
}
|
||||
|
||||
// super.doRun() just creates the project and does not assign a builder to it.
|
||||
super.doRun(SubMonitor.convert(monitor, 5));
|
||||
|
||||
// Add the managed build nature and builder
|
||||
try {
|
||||
addNature(SubMonitor.convert(monitor, 2));
|
||||
} catch (CoreException e) {
|
||||
AutotoolsUIPlugin.log(e);
|
||||
}
|
||||
// FIXME: Default scanner property: make -w - eventually we want to use Make core's build scanner
|
||||
newProject.setPersistentProperty(AutotoolsPropertyConstants.SCANNER_USE_MAKE_W, AutotoolsPropertyConstants.TRUE);
|
||||
|
||||
CCorePlugin.getDefault().mapCProjectOwner(newProject, getProjectID(), true);
|
||||
|
||||
// Add the ManagedProject to the project
|
||||
IManagedProject newManagedProject = null;
|
||||
IManagedBuildInfo info = null;
|
||||
try {
|
||||
info = ManagedBuildManager.createBuildInfo(newProject);
|
||||
IProjectType parent = getProjectType();
|
||||
newManagedProject = ManagedBuildManager.createManagedProject(newProject, parent);
|
||||
if (newManagedProject != null) {
|
||||
IConfiguration [] selectedConfigs = getSelectedConfigurations();
|
||||
for (int i = 0; i < selectedConfigs.length; i++) {
|
||||
IConfiguration config = selectedConfigs[i];
|
||||
int id = ManagedBuildManager.getRandomNumber();
|
||||
IConfiguration newConfig = newManagedProject.createConfiguration(config, config.getId() + "." + id); //$NON-NLS-1$
|
||||
newConfig.setArtifactName(newManagedProject.getDefaultArtifactName());
|
||||
}
|
||||
// Now add the first supported config in the list as the default
|
||||
IConfiguration defaultCfg = null;
|
||||
IConfiguration[] newConfigs = newManagedProject.getConfigurations();
|
||||
for(int i = 0; i < newConfigs.length; i++) {
|
||||
if(newConfigs[i].isSupported()){
|
||||
defaultCfg = newConfigs[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(defaultCfg == null && newConfigs.length > 0)
|
||||
defaultCfg = newConfigs[0];
|
||||
|
||||
if(defaultCfg != null) {
|
||||
ManagedBuildManager.setDefaultConfiguration(newProject, defaultCfg);
|
||||
ManagedBuildManager.setSelectedConfiguration(newProject, defaultCfg);
|
||||
}
|
||||
ManagedBuildManager.setNewProjectVersion(newProject);
|
||||
ICDescriptor desc = null;
|
||||
try {
|
||||
desc = CCorePlugin.getDefault().getCProjectDescription(newProject, true);
|
||||
desc.create(CCorePlugin.BUILD_SCANNER_INFO_UNIQ_ID, ManagedBuildManager.INTERFACE_IDENTITY);
|
||||
// TODO: The binary parser setting is currently per-project in the rest of CDT.
|
||||
// In the MBS, it is per-coonfiguration. For now, select the binary parsers of the
|
||||
// first configuration.
|
||||
// if (newConfigs.length > 0) {
|
||||
// IToolChain tc = newConfigs[0].getToolChain();
|
||||
// ITargetPlatform targetPlatform = tc.getTargetPlatform();
|
||||
// }
|
||||
} catch (CoreException e) {
|
||||
AutotoolsUIPlugin.log(e);
|
||||
}
|
||||
}
|
||||
} catch (BuildException e) {
|
||||
AutotoolsUIPlugin.log(e);
|
||||
}
|
||||
|
||||
// Following is a bit of a hack because changing the project options
|
||||
// causes a change event to be fired which will try to reindex the project.
|
||||
// We are in the middle of setting the project indexer which may end up
|
||||
// being the null indexer. In that case, we don't want the default indexer
|
||||
// (Fast Indexer) to be invoked.
|
||||
//IPDOMManager manager = CCorePlugin.getPDOMManager();
|
||||
//ICProject cproject = CoreModel.getDefault().create(newProject);
|
||||
//manager.setIndexerId(cproject, ConvertToAutotoolsProjectWizard.NULL_INDEXER_ID);
|
||||
|
||||
// Modify the project settings
|
||||
if (newProject != null) {
|
||||
optionPage.performApply(SubMonitor.convert(monitor, 2));
|
||||
}
|
||||
|
||||
// Save the build options
|
||||
monitor.subTask(AutotoolsUIPlugin.getResourceString(MSG_SAVE));
|
||||
if (info != null) {
|
||||
info.setValid(true);
|
||||
ManagedBuildManager.saveBuildInfo(newProject, true);
|
||||
}
|
||||
|
||||
IStatus initResult = ManagedBuildManager.initBuildInfoContainer(newProject);
|
||||
if (initResult.getCode() != IStatus.OK) {
|
||||
// At this point, I can live with a failure
|
||||
AutotoolsUIPlugin.log(initResult);
|
||||
}
|
||||
|
||||
monitor.done();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doRunPrologue(IProgressMonitor monitor) {
|
||||
// Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doRunEpilogue(IProgressMonitor monitor) {
|
||||
// Get my initializer to run
|
||||
if(newProject == null)
|
||||
return;
|
||||
|
||||
IStatus initResult = ManagedBuildManager.initBuildInfoContainer(newProject);
|
||||
if (initResult.getCode() != IStatus.OK) {
|
||||
// At this point, I can live with a failure
|
||||
AutotoolsUIPlugin.log(initResult);
|
||||
}
|
||||
|
||||
// execute any operations specified by custom pages
|
||||
// execute any operations specified by custom pages
|
||||
IRunnableWithProgress operations[] = MBSCustomPageManager.getOperations();
|
||||
|
||||
if (operations != null)
|
||||
{
|
||||
for(int k = 0; k < operations.length; k++)
|
||||
{
|
||||
try {
|
||||
operations[k].run(monitor);
|
||||
} catch (InvocationTargetException | InterruptedException e) {
|
||||
//TODO: what should we do?
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProjectID() {
|
||||
// return "org.eclipse.cdt.make.core.make"; //$NON-NLS-1$
|
||||
return ManagedBuilderCorePlugin.MANAGED_MAKE_PROJECT_ID;
|
||||
}
|
||||
|
||||
public IConfiguration[] getSelectedConfigurations() {
|
||||
return projectConfigurationPage.getSelectedConfigurations();
|
||||
}
|
||||
}
|
|
@ -1,319 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2002, 2005, 2009 IBM Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Rational Software - Initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.internal.autotools.ui.wizards;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
import org.eclipse.cdt.autotools.core.AutotoolsNewProjectNature;
|
||||
import org.eclipse.cdt.autotools.ui.AutotoolsUIPlugin;
|
||||
import org.eclipse.cdt.core.CCorePlugin;
|
||||
import org.eclipse.cdt.core.ICDescriptor;
|
||||
import org.eclipse.cdt.internal.autotools.core.AutotoolsPropertyConstants;
|
||||
import org.eclipse.cdt.managedbuilder.core.BuildException;
|
||||
import org.eclipse.cdt.managedbuilder.core.IConfiguration;
|
||||
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.managedbuilder.core.ManagedBuildManager;
|
||||
import org.eclipse.cdt.managedbuilder.core.ManagedBuilderCorePlugin;
|
||||
import org.eclipse.cdt.managedbuilder.core.ManagedCProjectNature;
|
||||
import org.eclipse.cdt.managedbuilder.ui.wizards.MBSCustomPageManager;
|
||||
import org.eclipse.cdt.ui.newui.CDTHelpContextIds;
|
||||
import org.eclipse.cdt.ui.wizards.NewCProjectWizard;
|
||||
import org.eclipse.cdt.ui.wizards.NewCProjectWizardPage;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
import org.eclipse.core.runtime.SubMonitor;
|
||||
import org.eclipse.jface.operation.IRunnableWithProgress;
|
||||
import org.eclipse.jface.wizard.IWizardPage;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.ui.PlatformUI;
|
||||
|
||||
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class AutotoolsNewCProjectWizardV2 extends NewCProjectWizard {
|
||||
|
||||
protected static final String PREFIX = "WizardAutotoolsNewCProjectV2"; //$NON-NLS-1$
|
||||
protected static final String OP_ERROR = PREFIX + ".op_error"; //$NON-NLS-1$
|
||||
protected static final String WZ_TITLE = PREFIX + ".title"; //$NON-NLS-1$
|
||||
protected static final String WZ_DESC = PREFIX + ".description"; //$NON-NLS-1$
|
||||
protected static final String WINDOW_TITLE = PREFIX + ".windowTitle"; //$NON-NLS-1$
|
||||
protected static final String CONF_TITLE = PREFIX + ".config.title"; //$NON-NLS-1$
|
||||
protected static final String CONF_DESC = PREFIX + ".config.desc"; //$NON-NLS-1$
|
||||
protected static final String OPTIONS_TITLE = PREFIX + ".options.title"; //$NON-NLS-1$
|
||||
protected static final String OPTIONS_DESC = PREFIX + ".options.desc"; //$NON-NLS-1$
|
||||
protected static final String MSG_ADD_NATURE = PREFIX + ".message.add_nature"; //$NON-NLS-1$
|
||||
protected static final String MSG_ADD_BUILDER = PREFIX + ".message.add_builder"; //$NON-NLS-1$
|
||||
protected static final String MSG_SAVE = PREFIX + ".message.save"; //$NON-NLS-1$
|
||||
|
||||
// Wizard pages
|
||||
protected CProjectPlatformPage projectConfigurationPage;
|
||||
protected NewAutotoolsProjectOptionPage optionPage;
|
||||
protected IProjectType projectType;
|
||||
|
||||
public AutotoolsNewCProjectWizardV2() {
|
||||
this(AutotoolsUIPlugin.getResourceString(WZ_TITLE), AutotoolsUIPlugin.getResourceString(WZ_DESC));
|
||||
}
|
||||
|
||||
public AutotoolsNewCProjectWizardV2(String title, String description) {
|
||||
super(title, description);
|
||||
}
|
||||
/**
|
||||
* Method getWzDescriptionResource, allows Wizard description label value
|
||||
* to be changed by subclasses
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
protected static String getWzDescriptionResource() {
|
||||
return AutotoolsUIPlugin.getResourceString(WZ_DESC);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method getWzTitleResource, allows Wizard description label value
|
||||
* to be changed by subclasses
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
protected static String getWzTitleResource() {
|
||||
return AutotoolsUIPlugin.getResourceString(WZ_TITLE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method getWindowTitleResource, allows Wizard Title label value to be
|
||||
* changed by subclasses
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
protected static String getWindowTitleResource() {
|
||||
return AutotoolsUIPlugin.getResourceString(WINDOW_TITLE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method getPrefix, allows prefix value to be changed by subclasses
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
protected static String getPrefix() {
|
||||
return PREFIX;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addPages() {
|
||||
// Add the default page for all new projects
|
||||
super.addPages();
|
||||
|
||||
// Add the configuration selection page
|
||||
projectConfigurationPage = new CProjectPlatformPage(PREFIX);
|
||||
projectConfigurationPage.setTitle(AutotoolsUIPlugin.getResourceString(CONF_TITLE));
|
||||
projectConfigurationPage.setDescription(AutotoolsUIPlugin.getResourceString(CONF_DESC));
|
||||
addPage(projectConfigurationPage);
|
||||
|
||||
// Add the options (tabbed) page
|
||||
optionPage = new NewAutotoolsProjectOptionPage(PREFIX);
|
||||
optionPage.setTitle(AutotoolsUIPlugin.getResourceString(OPTIONS_TITLE));
|
||||
optionPage.setDescription(AutotoolsUIPlugin.getResourceString(OPTIONS_DESC));
|
||||
addPage(optionPage);
|
||||
|
||||
// add custom pages
|
||||
MBSCustomPageManager.init();
|
||||
|
||||
// add stock pages
|
||||
MBSCustomPageManager.addStockPage(fMainPage, NewCProjectWizardPage.PAGE_ID);
|
||||
MBSCustomPageManager.addStockPage(projectConfigurationPage, CProjectPlatformPage.PAGE_ID);
|
||||
MBSCustomPageManager.addStockPage(optionPage, NewAutotoolsProjectOptionPage.PAGE_ID);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createPageControls(Composite pageContainer) {
|
||||
super.createPageControls( pageContainer );
|
||||
|
||||
IWizardPage [] pages = getPages();
|
||||
|
||||
if (pages != null) {
|
||||
for (int i = 0; i < pages.length; i++) {
|
||||
IWizardPage page = pages[i];
|
||||
if (page instanceof NewCProjectWizardPage) {
|
||||
// Setup the help information
|
||||
PlatformUI.getWorkbench().getHelpSystem().setHelp(pageContainer, CDTHelpContextIds.MAN_PROJ_WIZ_NAME_PAGE);
|
||||
}
|
||||
else if (page instanceof NewAutotoolsProjectOptionPage) {
|
||||
NewAutotoolsProjectOptionPage optionPage = (NewAutotoolsProjectOptionPage) page;
|
||||
optionPage.setupHelpContextIds();
|
||||
}
|
||||
// The other built-in page is the CProjectPlatformPage which already has a help id.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void updateProjectTypeProperties() {
|
||||
// Update the error parser list
|
||||
optionPage.updateProjectTypeProperties();
|
||||
}
|
||||
|
||||
protected void addNature(IProgressMonitor monitor) throws CoreException {
|
||||
monitor.beginTask("", 4);
|
||||
monitor.subTask(AutotoolsUIPlugin.getResourceString(MSG_ADD_NATURE));
|
||||
ManagedCProjectNature.addManagedNature(newProject, SubMonitor.convert(monitor, 1));
|
||||
monitor.subTask(AutotoolsUIPlugin.getResourceString(MSG_ADD_BUILDER));
|
||||
ManagedCProjectNature.addManagedBuilder(newProject, SubMonitor.convert(monitor, 1));
|
||||
monitor.subTask(AutotoolsUIPlugin.getResourceString(MSG_ADD_NATURE));
|
||||
AutotoolsNewProjectNature.addAutotoolsNature(newProject, SubMonitor.convert(monitor, 1));
|
||||
monitor.subTask(AutotoolsUIPlugin.getResourceString(MSG_ADD_BUILDER));
|
||||
AutotoolsNewProjectNature.addAutotoolsBuilder(newProject, SubMonitor.convert(monitor, 1));
|
||||
monitor.done();
|
||||
}
|
||||
|
||||
public IProjectType getProjectType() {
|
||||
return projectConfigurationPage.getProjectType();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doRun(IProgressMonitor monitor) throws CoreException {
|
||||
if (monitor == null) {
|
||||
monitor = new NullProgressMonitor();
|
||||
}
|
||||
|
||||
// super.doRun() just creates the project and does not assign a builder to it.
|
||||
super.doRun(SubMonitor.convert(monitor, 5));
|
||||
|
||||
// Add the managed build nature and builder
|
||||
try {
|
||||
addNature(SubMonitor.convert(monitor, 2));
|
||||
} catch (CoreException e) {
|
||||
AutotoolsUIPlugin.log(e);
|
||||
}
|
||||
// FIXME: Default scanner property: make -w - eventually we want to use Make core's build scanner
|
||||
newProject.setPersistentProperty(AutotoolsPropertyConstants.SCANNER_USE_MAKE_W, AutotoolsPropertyConstants.TRUE);
|
||||
|
||||
CCorePlugin.getDefault().mapCProjectOwner(newProject, getProjectID(), true);
|
||||
|
||||
// Add the ManagedProject to the project
|
||||
IManagedProject newManagedProject = null;
|
||||
IManagedBuildInfo info = null;
|
||||
try {
|
||||
info = ManagedBuildManager.createBuildInfo(newProject);
|
||||
IProjectType parent = getProjectType();
|
||||
newManagedProject = ManagedBuildManager.createManagedProject(newProject, parent);
|
||||
if (newManagedProject != null) {
|
||||
IConfiguration [] selectedConfigs = getSelectedConfigurations();
|
||||
for (int i = 0; i < selectedConfigs.length; i++) {
|
||||
IConfiguration config = selectedConfigs[i];
|
||||
int id = ManagedBuildManager.getRandomNumber();
|
||||
IConfiguration newConfig = newManagedProject.createConfiguration(config, config.getId() + "." + id); //$NON-NLS-1$
|
||||
newConfig.setArtifactName(newManagedProject.getDefaultArtifactName());
|
||||
}
|
||||
// Now add the first supported config in the list as the default
|
||||
IConfiguration defaultCfg = null;
|
||||
IConfiguration[] newConfigs = newManagedProject.getConfigurations();
|
||||
for(int i = 0; i < newConfigs.length; i++) {
|
||||
if(newConfigs[i].isSupported()){
|
||||
defaultCfg = newConfigs[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(defaultCfg == null && newConfigs.length > 0)
|
||||
defaultCfg = newConfigs[0];
|
||||
|
||||
if(defaultCfg != null) {
|
||||
ManagedBuildManager.setDefaultConfiguration(newProject, defaultCfg);
|
||||
ManagedBuildManager.setSelectedConfiguration(newProject, defaultCfg);
|
||||
}
|
||||
ManagedBuildManager.setNewProjectVersion(newProject);
|
||||
ICDescriptor desc = null;
|
||||
try {
|
||||
desc = CCorePlugin.getDefault().getCProjectDescription(newProject, true);
|
||||
desc.create(CCorePlugin.BUILD_SCANNER_INFO_UNIQ_ID, ManagedBuildManager.INTERFACE_IDENTITY);
|
||||
// TODO: The binary parser setting is currently per-project in the rest of CDT.
|
||||
// In the MBS, it is per-coonfiguration. For now, select the binary parsers of the
|
||||
// first configuration.
|
||||
// if (newConfigs.length > 0) {
|
||||
// IToolChain tc = newConfigs[0].getToolChain();
|
||||
// ITargetPlatform targetPlatform = tc.getTargetPlatform();
|
||||
// }
|
||||
} catch (CoreException e) {
|
||||
AutotoolsUIPlugin.log(e);
|
||||
}
|
||||
}
|
||||
} catch (BuildException e) {
|
||||
AutotoolsUIPlugin.log(e);
|
||||
}
|
||||
|
||||
// Modify the project settings
|
||||
if (newProject != null) {
|
||||
optionPage.performApply(SubMonitor.convert(monitor, 2));
|
||||
}
|
||||
|
||||
// Save the build options
|
||||
monitor.subTask(AutotoolsUIPlugin.getResourceString(MSG_SAVE));
|
||||
if (info != null) {
|
||||
info.setValid(true);
|
||||
ManagedBuildManager.saveBuildInfo(newProject, true);
|
||||
}
|
||||
|
||||
IStatus initResult = ManagedBuildManager.initBuildInfoContainer(newProject);
|
||||
if (initResult.getCode() != IStatus.OK) {
|
||||
// At this point, I can live with a failure
|
||||
AutotoolsUIPlugin.log(initResult);
|
||||
}
|
||||
|
||||
monitor.done();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doRunPrologue(IProgressMonitor monitor) {
|
||||
// Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doRunEpilogue(IProgressMonitor monitor) {
|
||||
// Get my initializer to run
|
||||
if(newProject == null)
|
||||
return;
|
||||
|
||||
IStatus initResult = ManagedBuildManager.initBuildInfoContainer(newProject);
|
||||
if (initResult.getCode() != IStatus.OK) {
|
||||
// At this point, I can live with a failure
|
||||
AutotoolsUIPlugin.log(initResult);
|
||||
}
|
||||
|
||||
// execute any operations specified by custom pages
|
||||
// execute any operations specified by custom pages
|
||||
IRunnableWithProgress operations[] = MBSCustomPageManager.getOperations();
|
||||
|
||||
if (operations != null)
|
||||
{
|
||||
for(int k = 0; k < operations.length; k++)
|
||||
{
|
||||
try {
|
||||
operations[k].run(monitor);
|
||||
} catch (InvocationTargetException | InterruptedException e) {
|
||||
//TODO: what should we do?
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProjectID() {
|
||||
// return "org.eclipse.cdt.make.core.make"; //$NON-NLS-1$
|
||||
return ManagedBuilderCorePlugin.MANAGED_MAKE_PROJECT_ID;
|
||||
}
|
||||
|
||||
public IConfiguration[] getSelectedConfigurations() {
|
||||
return projectConfigurationPage.getSelectedConfigurations();
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue