From fbbd7f6c2e71717257191ddffd4729b1d6adc1d0 Mon Sep 17 00:00:00 2001 From: Mikhail Sennikovsky Date: Fri, 25 May 2007 11:57:52 +0000 Subject: [PATCH] 1. Fix to CDT Variables: project macros added. 2. Additional MBS tests enabled --- .../tests/suite/AllManagedBuildTests.java | 2 +- .../core/cdtvariables/CdtMacroSupplier.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/managedbuilder/tests/suite/AllManagedBuildTests.java b/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/managedbuilder/tests/suite/AllManagedBuildTests.java index 1e9556c5fe2..7d9d22ce1ef 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/managedbuilder/tests/suite/AllManagedBuildTests.java +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/managedbuilder/tests/suite/AllManagedBuildTests.java @@ -59,7 +59,7 @@ public class AllManagedBuildTests { // suite.addTest(ManagedCommandLineGeneratorTest.suite()); // suite.addTest(ResourceBuildCoreTests.suite()); // suite.addTest(ManagedProject21MakefileTests.suite()); -// suite.addTest(ManagedProject30MakefileTests.suite()); + suite.addTest(ManagedProject30MakefileTests.suite()); suite.addTest(ManagedBuildCoreTests_SharedToolOptions.suite()); // suite.addTest(ManagedBuildEnvironmentTests.suite()); // suite.addTest(ManagedBuildMacrosTests.suite()); diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/CdtMacroSupplier.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/CdtMacroSupplier.java index f595b44ef6e..fb972987e51 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/CdtMacroSupplier.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/CdtMacroSupplier.java @@ -14,7 +14,9 @@ import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.cdtvariables.CdtVariable; import org.eclipse.cdt.core.cdtvariables.ICdtVariable; import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; +import org.eclipse.cdt.core.settings.model.ICProjectDescription; import org.eclipse.cdt.utils.Platform; +import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; import org.osgi.framework.Bundle; @@ -32,6 +34,8 @@ public class CdtMacroSupplier extends CoreMacroSupplierBase { private static final String fConfigurationMacros[] = new String[]{ "ConfigName", //$NON-NLS-1$ "ConfigDescription", //$NON-NLS-1$ + "ProjName", //$NON-NLS-1$ + "ProjDirPath", //$NON-NLS-1$ // "BuildArtifactFileName", //$NON-NLS-1$ // "BuildArtifactFileExt", //$NON-NLS-1$ // "BuildArtifactFileBaseName", //$NON-NLS-1$ @@ -183,6 +187,11 @@ public class CdtMacroSupplier extends CoreMacroSupplierBase { return macro; } + private IProject getProject(ICConfigurationDescription cfgDes){ + ICProjectDescription des = cfgDes.getProjectDescription(); + return des != null ? des.getProject() : null; + } + public ICdtVariable getMacro(String macroName, ICConfigurationDescription cfg){ ICdtVariable macro = null; if("ConfigName".equals(macroName)){ //$NON-NLS-1$ @@ -190,6 +199,14 @@ public class CdtMacroSupplier extends CoreMacroSupplierBase { } else if("ConfigDescription".equals(macroName)){ //$NON-NLS-1$ macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,cfg.getDescription()); + } else if("ProjName".equals(macroName)){ //$NON-NLS-1$ + IProject project = getProject(cfg); + if(project != null) + macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,project.getName()); + } else if("ProjDirPath".equals(macroName)){ //$NON-NLS-1$ + IProject project = getProject(cfg); + if(project != null) + macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,project.getLocation().toString()); } /* else if("BuildArtifactFileName".equals(macroName)){ //$NON-NLS-1$ String name = cfg.getArtifactName();