Skip to main content
summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorOleg Krasilnikov2007-11-19 09:37:41 +0000
committerOleg Krasilnikov2007-11-19 09:37:41 +0000
commit4aa46c4030ebac5a88005d21f9f9cb4f6c301647 (patch)
tree2225575dbcf448855628713fc37eedb4a9ac8ad0 /build
parent6b741b65e69b5875d847def0091f982135aa9536 (diff)
downloadorg.eclipse.cdt-4aa46c4030ebac5a88005d21f9f9cb4f6c301647.tar.gz
org.eclipse.cdt-4aa46c4030ebac5a88005d21f9f9cb4f6c301647.tar.xz
org.eclipse.cdt-4aa46c4030ebac5a88005d21f9f9cb4f6c301647.zip
Bug #207470
Diffstat (limited to 'build')
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java30
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProjectManager.java12
2 files changed, 33 insertions, 9 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java
index 6367c7a98e4..6be47b7de7c 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java
@@ -3517,8 +3517,8 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI
// If there is a converter element for projectType, invoke it.
// projectType converter should take care of invoking converters of
// it's children
-
- if (invokeConverter(managedProject, element) == null) {
+
+ if (invokeConverter(buildInfo, managedProject, element) == null) {
buildInfo.getManagedProject().setValid(false);
return false;
}
@@ -3542,7 +3542,7 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI
// If there is a converter element for toolChain, invoke it
// toolChain converter should take care of invoking
// converters of it's children
- if (invokeConverter(toolChain, element) == null) {
+ if (invokeConverter(buildInfo, toolChain, element) == null) {
buildInfo.getManagedProject().setValid(false);
return false;
}
@@ -3560,7 +3560,7 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI
.getPreviousMbsVersionConversionElement();
}
if (element != null) {
- if (invokeConverter(tool, element) == null) {
+ if (invokeConverter(buildInfo, tool, element) == null) {
buildInfo.getManagedProject().setValid(false);
return false;
}
@@ -3577,7 +3577,7 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI
}
if (element != null) {
- if (invokeConverter(builder, element) == null) {
+ if (invokeConverter(buildInfo, builder, element) == null) {
buildInfo.getManagedProject().setValid(false);
return false;
}
@@ -3604,7 +3604,7 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI
.getPreviousMbsVersionConversionElement();
}
if (element != null) {
- if (invokeConverter(resTool, element) == null) {
+ if (invokeConverter(buildInfo, resTool, element) == null) {
buildInfo.getManagedProject().setValid(
false);
return false;
@@ -3621,7 +3621,7 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI
return true;
}
- private static IBuildObject invokeConverter(IBuildObject buildObject, IConfigurationElement element) {
+ private static IBuildObject invokeConverter(ManagedBuildInfo bi, IBuildObject buildObject, IConfigurationElement element) {
if (element != null) {
IConvertManagedBuildObject convertBuildObject = null;
@@ -3638,7 +3638,19 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI
if (convertBuildObject != null) {
// invoke the converter
- return convertBuildObject.convert(buildObject, fromId, toId, false);
+ IProject prj = null;
+ IBuildObject result = null;
+ try {
+ if (bi != null) {
+ prj = (IProject)bi.getManagedProject().getOwner();
+ UpdateManagedProjectManager.addInfo(prj, bi);
+ }
+ result = convertBuildObject.convert(buildObject, fromId, toId, false);
+ } finally {
+ if (bi != null)
+ UpdateManagedProjectManager.delInfo(prj);
+ }
+ return result;
}
}
// if control comes here, it means that either 'convertBuildObject' is null or
@@ -3675,7 +3687,7 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI
if (element.getName().equals("converter") && (isBuildObjectApplicableForConversion(buildObj, element) == true)) { //$NON-NLS-1$
tmpToId = element.getAttribute("toId"); //$NON-NLS-1$
if (tmpToId.equals(toId)) {
- return invokeConverter(buildObj, element);
+ return invokeConverter(null, buildObj, element);
}
}
}
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProjectManager.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProjectManager.java
index 6489de94585..c3963e4c503 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProjectManager.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProjectManager.java
@@ -83,6 +83,14 @@ public class UpdateManagedProjectManager {
return mngr;
}
+ static public void addInfo(final IProject project, ManagedBuildInfo info) {
+ getUpdateManager(project).setBuildInfo(info);
+ }
+
+ static public void delInfo(final IProject project) {
+ removeUpdateManager(project);
+ }
+
static private void removeUpdateManager(IProject project){
UpdateManagedProjectManager mngr = getExistingUpdateManager(project);
if(mngr == null)
@@ -271,6 +279,10 @@ public class UpdateManagedProjectManager {
return fConvertedInfo;
}
+ private void setBuildInfo(ManagedBuildInfo info) {
+ fConvertedInfo = info;
+ }
+
private void doProjectUpdate(ManagedBuildInfo info)
throws CoreException {
fConvertedInfo = info;

Back to the top