summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2008-12-03 10:08:58 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2008-12-03 10:08:58 +0000
commit4c4442c39acdf1e1fedf6ac2aa89535b654354eb (patch)
tree76cfcb6d2fa66cde36189588397752f051417c51
parentFixed issue with copied BSP installations. (diff)
downloadrtems-eclipse-plug-in-4c4442c39acdf1e1fedf6ac2aa89535b654354eb.tar.bz2
Delete discovered paths after an update of the tools.
-rw-r--r--org.rtems.cdt.toolchain2/org/rtems/cdt/Storage.java36
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) {