diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2008-12-03 10:08:58 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2008-12-03 10:08:58 +0000 |
commit | 4c4442c39acdf1e1fedf6ac2aa89535b654354eb (patch) | |
tree | 76cfcb6d2fa66cde36189588397752f051417c51 /org.rtems.cdt.toolchain2 | |
parent | Fixed issue with copied BSP installations. (diff) | |
download | rtems-eclipse-plug-in-4c4442c39acdf1e1fedf6ac2aa89535b654354eb.tar.bz2 |
Delete discovered paths after an update of the tools.
Diffstat (limited to 'org.rtems.cdt.toolchain2')
-rw-r--r-- | org.rtems.cdt.toolchain2/org/rtems/cdt/Storage.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/org.rtems.cdt.toolchain2/org/rtems/cdt/Storage.java b/org.rtems.cdt.toolchain2/org/rtems/cdt/Storage.java index 3cd0c0e..230bd11 100644 --- a/org.rtems.cdt.toolchain2/org/rtems/cdt/Storage.java +++ b/org.rtems.cdt.toolchain2/org/rtems/cdt/Storage.java @@ -19,6 +19,13 @@ import java.io.InputStreamReader; import java.util.LinkedList; import java.util.List; +import org.eclipse.cdt.build.core.scannerconfig.CfgInfoContext; +import org.eclipse.cdt.build.internal.core.scannerconfig.CfgDiscoveredPathManager; +import org.eclipse.cdt.core.model.CoreModel; +import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; +import org.eclipse.cdt.core.settings.model.ICProjectDescription; +import org.eclipse.cdt.managedbuilder.core.IConfiguration; +import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.QualifiedName; @@ -75,6 +82,27 @@ public class Storage { } } + public static IConfiguration [] getConfigurations( IProject project) { + ICProjectDescription pd = CoreModel.getDefault().getProjectDescription( project); + + ICConfigurationDescription cds [] = pd.getConfigurations(); + IConfiguration cfgs [] = new IConfiguration [cds.length]; + for (int i = 0; i < cds.length; ++i) { + cfgs [i] = ManagedBuildManager.getConfigurationForDescription( cds [i]); + } + + return cfgs; + } + + public static IConfiguration getActiveConfiguration( IProject project) { + ICProjectDescription pd = CoreModel.getDefault().getProjectDescription( project); + + ICConfigurationDescription cd = pd.getActiveConfiguration(); + IConfiguration cfg = ManagedBuildManager.getConfigurationForDescription( cd); + + return cfg; + } + public static void updateTools( IProject project) { // Create make process builder ProcessBuilder pb = new ProcessBuilder( @@ -147,6 +175,14 @@ public class Storage { } } } + + // Delete discovered paths for all configurations of the project + for (IConfiguration cfg : getConfigurations( project)) { + CfgDiscoveredPathManager.getInstance().removeDiscoveredInfo( + project, + new CfgInfoContext( cfg) + ); + } } private static void updateTool( IProject project, String toolKey, String command, List<String> options) { |