use of org.eclipse.cdt.managedbuilder.core.IConfiguration in project usbdm-eclipse-plugins by podonoghue.
the class ToolchainValueHandler method isEnumValueAppropriate.
@Override
public boolean isEnumValueAppropriate(IBuildObject configuration, IHoldsOptions holder, IOption option, String extraArgument, String enumValue) {
String configTypeID = "net.sourceforge.usbdm.cdt.toolchain.processor.mcpu";
System.err.println("ToolchainValueHandler.isEnumValueAppropriate()");
// first we check the preference for this project, if it exists
IConfiguration config = null;
if (configuration instanceof IConfiguration) {
config = (IConfiguration) configuration;
} else if (configuration instanceof IFolderInfo) {
IFolderInfo folderInfo = (IFolderInfo) configuration;
config = folderInfo.getParent();
}
if (config == null) {
System.err.println("ToolchainValueHandler.isEnumValueAppropriate() config not found");
return true;
}
IToolChain toolChain = config.getToolChain();
ITool[] tools = toolChain.getTools();
IOption CPUListOption = null;
for (int i = 0; i < tools.length; i++) {
System.err.println("ToolchainValueHandler.isEnumValueAppropriate() Checking tool: " + tools[i].getId());
if (tools[i].getOptionBySuperClassId(configTypeID) != null) {
CPUListOption = tools[i].getOptionBySuperClassId(configTypeID);
}
}
if (CPUListOption == null) {
System.err.println("ToolchainValueHandler.isEnumValueAppropriate() CPUListOption not found");
}
return true;
}
use of org.eclipse.cdt.managedbuilder.core.IConfiguration in project usbdm-eclipse-plugins by podonoghue.
the class ValueHandlerTest method handleValue.
@Override
public boolean handleValue(IBuildObject configuration, IHoldsOptions holder, IOption option, String extraArgument, int event) {
System.err.println("====================================================================================================");
System.err.println("net.sourceforge.usbdm.cdt.wizard.ValueHandler() - extraArgument = \'" + extraArgument + "\'");
switch(event) {
case EVENT_OPEN:
System.err.println("net.sourceforge.usbdm.cdt.wizard.ValueHandler() - EVENT_OPEN");
break;
case EVENT_CLOSE:
System.err.println("net.sourceforge.usbdm.cdt.wizard.ValueHandler() - EVENT_CLOSE");
break;
case EVENT_SETDEFAULT:
System.err.println("net.sourceforge.usbdm.cdt.wizard.ValueHandler() - EVENT_SETDEFAULT");
break;
case EVENT_APPLY:
System.err.println("net.sourceforge.usbdm.cdt.wizard.ValueHandler() - EVENT_APPLY");
break;
case EVENT_LOAD:
System.err.println("net.sourceforge.usbdm.cdt.wizard.ValueHandler() - EVENT_APPLY");
break;
default:
System.err.println("net.sourceforge.usbdm.cdt.wizard.ValueHandler() - Unexpected event " + event);
break;
}
listConfigs(configuration, extraArgument);
IOption option1 = holder.getOptionBySuperClassId(extraArgument);
if (option1 != null) {
System.err.println("net.sourceforge.usbdm.cdt.wizard.ValueHandler() - holder.getOptionBySuperClassId(extraArgument) => " + option1.getName());
} else {
System.err.println("net.sourceforge.usbdm.cdt.wizard.ValueHandler() - holder.getOptionBySuperClassId(extraArgument) = null");
}
IOption option2 = holder.getOptionById(extraArgument);
if (option2 != null) {
System.err.println("net.sourceforge.usbdm.cdt.wizard.ValueHandler() - holder.getOptionById(extraArgument) = " + option2.getName());
} else {
System.err.println("net.sourceforge.usbdm.cdt.wizard.ValueHandler() - holder.getOptionById(extraArgument) = null");
}
if (configuration instanceof IConfiguration) {
IConfiguration theConfiguration = (IConfiguration) configuration;
System.err.println("theConfiguration = " + theConfiguration.getName());
IToolChain toolchain = theConfiguration.getToolChain();
System.err.println("toolchain = " + toolchain.getName());
// $NON-NLS-1$
IOption mcpuOption = toolchain.getOptionBySuperClassId(extraArgument);
if (mcpuOption != null) {
System.err.println("cdt.managedbuild.option.gnu.cross.prefix mcpuOption.getName() => " + mcpuOption.getId());
System.err.println("cdt.managedbuild.option.gnu.cross.prefix mcpuOption.getValue().toString() => " + mcpuOption.getValue().toString());
// String mcpuOptionValue = (String)mcpuOption.getValue();
// try {
// option.setValue(mcpuOptionValue);
// } catch (BuildException e) {
// e.printStackTrace();
// }
}
}
return false;
}
use of org.eclipse.cdt.managedbuilder.core.IConfiguration in project usbdm-eclipse-plugins by podonoghue.
the class ValueHandlerTest method listConfigs.
IOption listConfigs(IBuildObject configuration, String configTypeID) {
System.err.println("ValueHandlerTest.listConfigs(configTypeID=" + configTypeID + ")");
// first we check the preference for this project, if it exists
IConfiguration config = null;
if (configuration instanceof IConfiguration) {
config = (IConfiguration) configuration;
} else if (configuration instanceof IFolderInfo) {
IFolderInfo folderInfo = (IFolderInfo) configuration;
config = folderInfo.getParent();
}
if (config == null) {
System.err.println("ValueHandlerTest.listConfigs() config not found");
}
IOption targetOption = null;
IToolChain toolChain = config.getToolChain();
System.err.println("ValueHandlerTest.listConfigs() Checking toolchain: " + toolChain.getId());
if (toolChain.getOptionBySuperClassId(configTypeID) != null) {
targetOption = toolChain.getOptionBySuperClassId(configTypeID);
System.err.println("ValueHandlerTest.listConfigs() Checking toolchain: Found => " + targetOption.getValue().toString());
// return targetOption;
}
ITool[] tools = toolChain.getTools();
for (int i = 0; i < tools.length; i++) {
System.err.println("ValueHandlerTest.listConfigs() Checking tool: " + tools[i].getId());
if (tools[i].getOptionBySuperClassId(configTypeID) != null) {
targetOption = tools[i].getOptionBySuperClassId(configTypeID);
System.err.println("ValueHandlerTest.listConfigs() Checking tool: Found => " + targetOption.getValue().toString());
// return targetOption;
}
}
if (targetOption == null) {
System.err.println("ValueHandlerTest.listConfigs() targetOption not found");
}
return targetOption;
}
use of org.eclipse.cdt.managedbuilder.core.IConfiguration in project usbdm-eclipse-plugins by podonoghue.
the class ApplyOptions method setOptionValue.
// public void updateConfigurations(IProgressMonitor monitor) {
// ManagedBuildManager.saveBuildInfo(projectHandle, true);
// IConfiguration[] projectConfigs = ManagedBuildManager.getBuildInfo(projectHandle).getManagedProject().getConfigurations();
// for (IConfiguration config : projectConfigs) {
// ScannerConfigBuilder.build(config, ScannerConfigBuilder.PERFORM_CORE_UPDATE, monitor);
// }
// }
private boolean setOptionValue(String id, String[] value, String path, boolean replace, String targetConfig, IProgressMonitor monitor) throws Exception {
IConfiguration[] projectConfigs = ManagedBuildManager.getBuildInfo(projectHandle).getManagedProject().getConfigurations();
// $NON-NLS-1$ //$NON-NLS-2$
boolean resource = !(path == null || path.equals("") || path.equals("/"));
boolean modified = false;
for (IConfiguration config : projectConfigs) {
if ((targetConfig != null) && !config.getId().contains(targetConfig)) {
// System.err.println("ApplyOptions() - Skipping config " + config.getId()); //$NON-NLS-1$
continue;
}
IResourceConfiguration resourceConfig = null;
if (resource) {
resourceConfig = config.getResourceConfiguration(path);
if (resourceConfig == null) {
IFile file = projectHandle.getFile(path);
if (file == null) {
// $NON-NLS-1$
throw new Exception("ApplyOptions() file is null for path = " + path);
}
resourceConfig = config.createResourceConfiguration(file);
}
ITool[] tools = resourceConfig.getTools();
for (ITool tool : tools) {
modified |= addToOptionForResourceConfig(id, value, replace, resourceConfig, tool.getOptions(), tool);
}
} else {
IToolChain toolChain = config.getToolChain();
modified |= addToOptionForConfig(id, value, replace, config, toolChain.getOptions(), toolChain);
ITool[] tools = config.getTools();
for (ITool tool : tools) {
modified |= addToOptionForConfig(id, value, replace, config, tool.getOptions(), tool);
}
}
}
return modified;
}
use of org.eclipse.cdt.managedbuilder.core.IConfiguration in project usbdm-eclipse-plugins by podonoghue.
the class UsbdmDebuggerPanel method getToolInformationDataFromConfig.
/**
* Try to get interface type from project via ILaunchConfiguration
*
* @param configuration
* @return
*/
private ToolInformationData getToolInformationDataFromConfig(ILaunchConfiguration configuration) {
String buildToolsId = null;
try {
// ToDo Consider using - ICProject projectHandle =
// CDebugUtils.verifyCProject(configuration);
String projectName = configuration.getAttribute(ICDTLaunchConfigurationConstants.ATTR_PROJECT_NAME, (String) null);
String projectBuildId = configuration.getAttribute(ICDTLaunchConfigurationConstants.ATTR_PROJECT_BUILD_CONFIG_ID, (String) null);
if ((projectName != null) && (projectBuildId != null)) {
ICProject projectHandle = CoreModel.getDefault().getCModel().getCProject(projectName);
IConfiguration buildConfig = ManagedBuildManager.getBuildInfo(projectHandle.getProject()).getManagedProject().getConfiguration(projectBuildId);
if (buildConfig != null) {
IToolChain toolChain = buildConfig.getToolChain();
if (toolChain != null) {
IOption option = toolChain.getOptionBySuperClassId("net.sourceforge.usbdm.cdt.arm.toolchain.buildtools");
if (option == null) {
option = toolChain.getOptionBySuperClassId("net.sourceforge.usbdm.cdt.coldfire.toolchain.buildtools");
}
if (option != null) {
// System.err.println("option(net.sourceforge.usbdm.cdt.arm.toolchain.buildtools).getId()
// = "+option.getId());
// System.err.println("option(net.sourceforge.usbdm.cdt.arm.toolchain.buildtools).getName()
// = "+option.getName());
buildToolsId = option.getStringValue();
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
// System.err.println("Selected Build Tools ID = " + buildToolsId);
ToolInformationData toolInformationData = null;
if (buildToolsId != null) {
toolInformationData = ToolInformationData.get(buildToolsId);
}
// System.err.println("Selected Build Tools = " + toolInformationData);
return toolInformationData;
}
Aggregations