[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] patch for a couple of project conversion problems..
|
Hi,
Here I attached a patch that contains the changes needed to fix the following
problems.
i)
Currently CDT does not invoke the
converters during the conversion of CDT1.2 project into CDT3.0
project.
ii)
CDT does not invoke the converters
for the tools that are associated with the Resource
configurations.
Thanks &
Regards,
Sunil
|
Index: src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt-build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java,v
retrieving revision 1.56
diff -u -r1.56 ManagedBuildManager.java
--- src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java 9 Sep 2005 14:23:58 -0000 1.56
+++ src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java 19 Sep 2005 22:48:20 -0000
@@ -2677,7 +2677,32 @@
}
}
}
+
+ // walk through each resource configuration and look if there are any converters
+ // available. If so, invoke them.
+ IResourceConfiguration [] resourceConfigs = configuration.getResourceConfigurations();
+ if ( ( resourceConfigs != null) && ( resourceConfigs.length > 0)) {
+ for (int j = 0; j < resourceConfigs.length; j++) {
+ IResourceConfiguration resConfig = resourceConfigs[j];
+ ITool [] resTools = resConfig.getTools();
+ for (int k = 0; k < resTools.length; k++) {
+ ITool resTool = resTools[k];
+ if (forCurrentMbsVersion) {
+ element = ((Tool)resTool).getCurrentMbsVersionConversionElement();
+ } else {
+ element = ((Tool)resTool).getPreviousMbsVersionConversionElement();
+ }
+ if (element != null) {
+ if ( invokeConverter(resTool, element) == null ) {
+ buildInfo.getManagedProject().setValid(false);
+ return false;
+ }
+ }
+ }
+ }
+ } // end of if
}
+
// If control comes here, it means either there is no converter element
// or converters are invoked successfully
return true;
Index: src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt-build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java,v
retrieving revision 1.40
diff -u -r1.40 Tool.java
--- src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java 16 Sep 2005 14:08:09 -0000 1.40
+++ src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java 19 Sep 2005 22:48:21 -0000
@@ -570,11 +570,12 @@
IResourceConfiguration resConfig = (IResourceConfiguration) getParent();
setSuperClass( resConfig.getParent().getTool(superClassId) );
} else {
- setSuperClass( ManagedBuildManager.getExtensionTool(superClassId) );
-
- // Check for migration support
- checkForMigrationSupport();
+ setSuperClass( ManagedBuildManager.getExtensionTool(superClassId) );
}
+
+ // Check for migration support
+ checkForMigrationSupport();
+
}
// Get the unused children, if any
Index: src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProject12.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt-build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProject12.java,v
retrieving revision 1.13
diff -u -r1.13 UpdateManagedProject12.java
--- src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProject12.java 29 Jul 2005 13:28:03 -0000 1.13
+++ src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProject12.java 19 Sep 2005 22:48:22 -0000
@@ -38,6 +38,8 @@
import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
import org.eclipse.cdt.managedbuilder.core.ManagedBuilderCorePlugin;
import org.eclipse.cdt.managedbuilder.internal.core.ManagedBuildInfo;
+import org.eclipse.cdt.managedbuilder.internal.core.Tool;
+import org.eclipse.cdt.managedbuilder.internal.core.ToolChain;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspace;
@@ -217,7 +219,8 @@
// Convert the tool references
IToolChain toolChain = newConfig.getToolChain();
-
+ ((ToolChain)toolChain).checkForMigrationSupport();
+
NodeList toolRefNodes = oldConfig.getElementsByTagName(IConfigurationV2.TOOLREF_ELEMENT_NAME);
for (int refIndex = 0; refIndex < toolRefNodes.getLength(); ++refIndex) {
try{
@@ -629,6 +632,9 @@
throw new CoreException(new Status(IStatus.ERROR, ManagedBuilderCorePlugin.getUniqueIdentifier(), -1,
ConverterMessages.getFormattedString("UpdateManagedProject12.11",toolId), null)); //$NON-NLS-1$
+// Check for migration support
+ ((Tool)newTool).checkForMigrationSupport();
+
// The ref may or may not contain overridden options
NodeList optRefs = oldToolRef.getElementsByTagName(ITool.OPTION_REF);
for (int refIndex = optRefs.getLength() - 1; refIndex >= 0; --refIndex) {