diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/managedbuilder/testplugin/ManagedBuildTestHelper.java b/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/managedbuilder/testplugin/ManagedBuildTestHelper.java index b2259c60509..70cea98341f 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/managedbuilder/testplugin/ManagedBuildTestHelper.java +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/managedbuilder/testplugin/ManagedBuildTestHelper.java @@ -48,6 +48,7 @@ import org.eclipse.cdt.managedbuilder.core.IToolChain; import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager; import org.eclipse.cdt.managedbuilder.core.ManagedBuilderCorePlugin; import org.eclipse.cdt.managedbuilder.core.ManagedCProjectNature; +import org.eclipse.cdt.utils.cdtvariables.CdtVariableResolver; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; @@ -519,7 +520,7 @@ public class ManagedBuildTestHelper { final String INCLUDE_PATTERN = "-include \\$\\(.*\\)"; final String MACRO_PATTERN = "\\S* [:+]=.*"; final String EMPTY_MACRO_PATTERN = "\\S* :="; - final String WORKSPACE_DIR_STR = "${WorkspaceDirPath}"; + final String WORKSPACE_DIR_STR = CdtVariableResolver.createVariableReference(CdtVariableResolver.VAR_WORKSPACE_DIR_PATH); ArrayList testArray = mergeContinuationLines(getContents(testFile)); ArrayList benchmarkArray = mergeContinuationLines(getContents(benchmarkFile)); diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/ManagedProject.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/ManagedProject.java index bfc17dee221..d6073c8d499 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/ManagedProject.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/ManagedProject.java @@ -34,6 +34,7 @@ import org.eclipse.cdt.managedbuilder.core.IManagedProject; import org.eclipse.cdt.managedbuilder.core.IProjectType; import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager; import org.eclipse.cdt.managedbuilder.core.ManagedBuilderCorePlugin; +import org.eclipse.cdt.utils.cdtvariables.CdtVariableResolver; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; import org.osgi.framework.Version; @@ -422,7 +423,7 @@ public class ManagedProject extends BuildObject implements IManagedProject, IBui */ @Override public String getDefaultArtifactName(){ - return "${ProjName}"; //$NON-NLS-1$ + return CdtVariableResolver.createVariableReference(CdtVariableResolver.VAR_PROJ_NAME); } /* (non-Javadoc) diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java index f61fb6e36cc..f0057faec23 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java @@ -80,8 +80,8 @@ public class MbsMacroSupplier extends BuildCdtVariablesSupplierBase { }; private static final String fConfigurationMacros[] = new String[]{ -// "ConfigName", //$NON-NLS-1$ -// "ConfigDescription", //$NON-NLS-1$ +// CdtVariableResolver.VAR_CONFIG_NAME, +// CdtVariableResolver.VAR_CONFIG_DESCRIPTION, "BuildArtifactFileName", //$NON-NLS-1$ "BuildArtifactFileExt", //$NON-NLS-1$ "BuildArtifactFileBaseName", //$NON-NLS-1$ @@ -93,24 +93,24 @@ public class MbsMacroSupplier extends BuildCdtVariablesSupplierBase { }; private static final String fProjectMacros[] = new String[]{ -// "ProjName", //$NON-NLS-1$ -// "ProjDirPath", //$NON-NLS-1$ +// CdtVariableResolver.VAR_PROJ_NAME, +// CdtVariableResolver.VAR_PROJ_DIR_PATH, }; private static final String fWorkspaceMacros[] = new String[]{ -// "WorkspaceDirPath", //$NON-NLS-1$ -// "DirectoryDelimiter", //$NON-NLS-1$ -// "PathDelimiter", //$NON-NLS-1$ +// CdtVariableResolver.VAR_WORKSPACE_DIR_PATH, +// CdtVariableResolver.VAR_DIRECTORY_DELIMITER, +// CdtVariableResolver.VAR_PATH_DELIMITER, }; private static final String fCDTEclipseMacros[] = new String[]{ -// "EclipseVersion", //$NON-NLS-1$ -// "CDTVersion", //$NON-NLS-1$ +// CdtVariableResolver.VAR_ECLIPSE_VERSION, +// CdtVariableResolver.VAR_CDT_VERSION, "MBSVersion", //$NON-NLS-1$ -// "HostOsName", //$NON-NLS-1$ -// "HostArchName", //$NON-NLS-1$ -// "OsType", //$NON-NLS-1$ -// "ArchType", //$NON-NLS-1$ +// CdtVariableResolver.VAR_HOST_OS_NAME, +// CdtVariableResolver.VAR_HOST_ARCH_NAME, +// CdtVariableResolver.VAR_HOST_OS_TYPE, +// CdtVariableResolver.VAR_HOST_ARCH_TYPE, }; private class OptionData extends OptionContextData { @@ -419,10 +419,10 @@ public class MbsMacroSupplier extends BuildCdtVariablesSupplierBase { public IBuildMacro getMacro(String macroName, IBuilder builder, IConfiguration cfg){ IBuildMacro macro = null; - if("ConfigName".equals(macroName)){ //$NON-NLS-1$ + if (CdtVariableResolver.VAR_CONFIG_NAME.equals(macroName)) { macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,cfg.getName()); } - else if("ConfigDescription".equals(macroName)){ //$NON-NLS-1$ + else if (CdtVariableResolver.VAR_CONFIG_DESCRIPTION.equals(macroName)){ macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,cfg.getDescription()); } else if("BuildArtifactFileName".equals(macroName)){ //$NON-NLS-1$ @@ -604,10 +604,10 @@ public class MbsMacroSupplier extends BuildCdtVariablesSupplierBase { public IBuildMacro getMacro(String macroName, IManagedProject mngProj){ IBuildMacro macro = null; - if("ProjName".equals(macroName)){ //$NON-NLS-1$ + if(CdtVariableResolver.VAR_PROJ_NAME.equals(macroName)){ macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,mngProj.getOwner().getName()); } - else if("ProjDirPath".equals(macroName)){ //$NON-NLS-1$ + else if(CdtVariableResolver.VAR_PROJ_DIR_PATH.equals(macroName)){ macro = new BuildMacro(macroName,IBuildMacro.VALUE_PATH_DIR,mngProj.getOwner().getLocation().toOSString()); } return macro; @@ -615,15 +615,15 @@ public class MbsMacroSupplier extends BuildCdtVariablesSupplierBase { public IBuildMacro getMacro(String macroName, IWorkspace wsp){ IBuildMacro macro = null; - if("WorkspaceDirPath".equals(macroName)){ //$NON-NLS-1$ + if (CdtVariableResolver.VAR_WORKSPACE_DIR_PATH.equals(macroName)) { macro = new BuildMacro(macroName,IBuildMacro.VALUE_PATH_DIR,wsp.getRoot().getLocation().toOSString()); - } else if("DirectoryDelimiter".equals(macroName)){ //$NON-NLS-1$ + } else if (CdtVariableResolver.VAR_DIRECTORY_DELIMITER.equals(macroName)) { if(isWin32()){ macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,"\\"); //$NON-NLS-1$ } else { macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,"/"); //$NON-NLS-1$ } - } else if("PathDelimiter".equals(macroName)){ //$NON-NLS-1$ + } else if (CdtVariableResolver.VAR_PATH_DELIMITER.equals(macroName)) { if(isWin32()){ macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,";"); //$NON-NLS-1$ } else { @@ -642,34 +642,34 @@ public class MbsMacroSupplier extends BuildCdtVariablesSupplierBase { public IBuildMacro getMacro(String macroName){ IBuildMacro macro = null; - if("EclipseVersion".equals(macroName)){ //$NON-NLS-1$ + if (CdtVariableResolver.VAR_ECLIPSE_VERSION.equals(macroName)) { Bundle bundle = Platform.getBundle("org.eclipse.platform"); //$NON-NLS-1$ String version = bundle != null ? (String)bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION) : null; macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,version); } - else if("CDTVersion".equals(macroName)){ //$NON-NLS-1$ + else if (CdtVariableResolver.VAR_CDT_VERSION.equals(macroName)) { String version = CCorePlugin.getDefault().getBundle().getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION); macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,version); } - else if("MBSVersion".equals(macroName)){ //$NON-NLS-1$ + else if ("MBSVersion".equals(macroName)) { //$NON-NLS-1$ String version = ManagedBuildManager.getBuildInfoVersion().toString(); macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,version); } - else if("HostOsName".equals(macroName)){ //$NON-NLS-1$ + else if (CdtVariableResolver.VAR_HOST_OS_NAME.equals(macroName)) { String os = System.getProperty("os.name"); //$NON-NLS-1$ macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,os); } - else if("HostArchName".equals(macroName)){ //$NON-NLS-1$ + else if (CdtVariableResolver.VAR_HOST_ARCH_NAME.equals(macroName)) { String arch = System.getProperty("os.arch"); //$NON-NLS-1$ macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,arch); } - else if("OsType".equals(macroName)){ //$NON-NLS-1$ + else if (CdtVariableResolver.VAR_OS_TYPE.equals(macroName)) { String os = Platform.getOS(); macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,os); } - else if("ArchType".equals(macroName)){ //$NON-NLS-1$ + else if (CdtVariableResolver.VAR_ARCH_TYPE.equals(macroName)) { String arch = Platform.getOSArch(); macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,arch); } 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 94b82c151ba..50a39fdcfb8 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 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2008 Intel Corporation and others. + * Copyright (c) 2005, 2013 Intel Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -27,15 +27,27 @@ import org.osgi.framework.Bundle; * @since 3.0 */ public class CdtMacroSupplier extends CoreMacroSupplierBase { + public static final String VAR_CONFIG_NAME = "ConfigName"; //$NON-NLS-1$ + public static final String VAR_CONFIG_DESCRIPTION = "ConfigDescription"; //$NON-NLS-1$ + public static final String VAR_PROJ_NAME = "ProjName"; //$NON-NLS-1$ + public static final String VAR_PROJ_DIR_PATH = "ProjDirPath"; //$NON-NLS-1$ + public static final String VAR_WORKSPACE_DIR_PATH = "WorkspaceDirPath"; //$NON-NLS-1$ + public static final String VAR_DIRECTORY_DELIMITER = "DirectoryDelimiter"; //$NON-NLS-1$ + public static final String VAR_PATH_DELIMITER = "PathDelimiter"; //$NON-NLS-1$ + public static final String VAR_ECLIPSE_VERSION = "EclipseVersion"; //$NON-NLS-1$ + public static final String VAR_CDT_VERSION = "CDTVersion"; //$NON-NLS-1$ + public static final String VAR_HOST_OS_NAME = "HostOsName"; //$NON-NLS-1$ + public static final String VAR_HOST_ARCH_NAME = "HostArchName"; //$NON-NLS-1$ + public static final String VAR_OS_TYPE = "OsType"; //$NON-NLS-1$ + public static final String VAR_ARCH_TYPE = "ArchType"; //$NON-NLS-1$ + private static CdtMacroSupplier fInstance; - public final static String DOT = "."; //$NON-NLS-1$ - public final static String EMPTY_STRING = ""; //$NON-NLS-1$ - private static final String fConfigurationMacros[] = new String[]{ - "ConfigName", //$NON-NLS-1$ - "ConfigDescription", //$NON-NLS-1$ - "ProjName", //$NON-NLS-1$ - "ProjDirPath", //$NON-NLS-1$ + private static final String fConfigurationMacros[] = new String[] { + VAR_CONFIG_NAME, + VAR_CONFIG_DESCRIPTION, + VAR_PROJ_NAME, + VAR_PROJ_DIR_PATH, // "BuildArtifactFileName", //$NON-NLS-1$ // "BuildArtifactFileExt", //$NON-NLS-1$ // "BuildArtifactFileBaseName", //$NON-NLS-1$ @@ -44,20 +56,20 @@ public class CdtMacroSupplier extends CoreMacroSupplierBase { // "TargetArchList", //$NON-NLS-1$ }; - private static final String fWorkspaceMacros[] = new String[]{ - "WorkspaceDirPath", //$NON-NLS-1$ - "DirectoryDelimiter", //$NON-NLS-1$ - "PathDelimiter", //$NON-NLS-1$ + private static final String fWorkspaceMacros[] = new String[] { + VAR_WORKSPACE_DIR_PATH, + VAR_DIRECTORY_DELIMITER, + VAR_PATH_DELIMITER, }; - private static final String fCDTEclipseMacros[] = new String[]{ - "EclipseVersion", //$NON-NLS-1$ - "CDTVersion", //$NON-NLS-1$ + private static final String fCDTEclipseMacros[] = new String[] { + VAR_ECLIPSE_VERSION, + VAR_CDT_VERSION, // "MBSVersion", //$NON-NLS-1$ - "HostOsName", //$NON-NLS-1$ - "HostArchName", //$NON-NLS-1$ - "OsType", //$NON-NLS-1$ - "ArchType", //$NON-NLS-1$ + VAR_HOST_OS_NAME, + VAR_HOST_ARCH_NAME, + VAR_OS_TYPE, + VAR_ARCH_TYPE, }; @@ -195,16 +207,16 @@ public class CdtMacroSupplier extends CoreMacroSupplierBase { public ICdtVariable getMacro(String macroName, ICConfigurationDescription cfg){ ICdtVariable macro = null; - if("ConfigName".equals(macroName)){ //$NON-NLS-1$ + if (VAR_CONFIG_NAME.equals(macroName)) { macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,cfg.getName()); } - else if("ConfigDescription".equals(macroName)){ //$NON-NLS-1$ + else if (VAR_CONFIG_DESCRIPTION.equals(macroName)) { macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,cfg.getDescription()); - } else if("ProjName".equals(macroName)){ //$NON-NLS-1$ + } else if (VAR_PROJ_NAME.equals(macroName)) { IProject project = getProject(cfg); if(project != null) macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,project.getName()); - } else if("ProjDirPath".equals(macroName)){ //$NON-NLS-1$ + } else if (VAR_PROJ_DIR_PATH.equals(macroName)) { IProject project = getProject(cfg); if(project != null && project.getLocation() != null) // in the EFS world getLocation() can return null macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,project.getLocation().toString()); @@ -388,10 +400,10 @@ public class CdtMacroSupplier extends CoreMacroSupplierBase { /* public IBuildMacro getMacro(String macroName, IManagedProject mngProj){ IBuildMacro macro = null; - if("ProjName".equals(macroName)){ //$NON-NLS-1$ + if (VAR_PROJ_NAME.equals(macroName)) { macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,mngProj.getOwner().getName()); } - else if("ProjDirPath".equals(macroName)){ //$NON-NLS-1$ + else if (VAR_PROJ_DIR_PATH.equals(macroName)) { macro = new BuildMacro(macroName,IBuildMacro.VALUE_PATH_DIR,mngProj.getOwner().getLocation().toOSString()); } return macro; @@ -401,15 +413,15 @@ public class CdtMacroSupplier extends CoreMacroSupplierBase { if(wsp == null) wsp = ResourcesPlugin.getWorkspace(); ICdtVariable macro = null; - if("WorkspaceDirPath".equals(macroName)){ //$NON-NLS-1$ + if (VAR_WORKSPACE_DIR_PATH.equals(macroName)) { macro = new CdtVariable(macroName,ICdtVariable.VALUE_PATH_DIR,wsp.getRoot().getLocation().toOSString()); - } else if("DirectoryDelimiter".equals(macroName)){ //$NON-NLS-1$ + } else if (VAR_DIRECTORY_DELIMITER.equals(macroName)) { if(isWin32()){ macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,"\\"); //$NON-NLS-1$ } else { macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,"/"); //$NON-NLS-1$ } - } else if("PathDelimiter".equals(macroName)){ //$NON-NLS-1$ + } else if (VAR_PATH_DELIMITER.equals(macroName)) { if(isWin32()){ macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,";"); //$NON-NLS-1$ } else { @@ -428,14 +440,14 @@ public class CdtMacroSupplier extends CoreMacroSupplierBase { public ICdtVariable getMacro(String macroName){ ICdtVariable macro = null; - if("EclipseVersion".equals(macroName)){ //$NON-NLS-1$ + if (VAR_ECLIPSE_VERSION.equals(macroName)) { Bundle bundle = Platform.getBundle("org.eclipse.platform"); //$NON-NLS-1$ String version = bundle != null ? (String)bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION) : null; macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,version); } - else if("CDTVersion".equals(macroName)){ //$NON-NLS-1$ + else if (VAR_CDT_VERSION.equals(macroName)) { String version = CCorePlugin.getDefault().getBundle().getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION); macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,version); } @@ -443,19 +455,19 @@ public class CdtMacroSupplier extends CoreMacroSupplierBase { String version = ManagedBuildManager.getBuildInfoVersion().toString(); macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,version); }*/ - else if("HostOsName".equals(macroName)){ //$NON-NLS-1$ + else if (VAR_HOST_OS_NAME.equals(macroName)) { String os = System.getProperty("os.name"); //$NON-NLS-1$ macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,os); } - else if("HostArchName".equals(macroName)){ //$NON-NLS-1$ + else if (VAR_HOST_ARCH_NAME.equals(macroName)) { String arch = System.getProperty("os.arch"); //$NON-NLS-1$ macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,arch); } - else if("OsType".equals(macroName)){ //$NON-NLS-1$ + else if (VAR_OS_TYPE.equals(macroName)) { String os = Platform.getOS(); macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,os); } - else if("ArchType".equals(macroName)){ //$NON-NLS-1$ + else if (VAR_ARCH_TYPE.equals(macroName)) { String arch = Platform.getOSArch(); macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,arch); } diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/cdtvariables/CdtVariableResolver.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/cdtvariables/CdtVariableResolver.java index 76d108d3abc..11c1e049dc2 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/cdtvariables/CdtVariableResolver.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/cdtvariables/CdtVariableResolver.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2009 Intel Corporation and others. + * Copyright (c) 2005, 2013 Intel Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -20,16 +20,44 @@ import java.util.regex.Pattern; import org.eclipse.cdt.core.cdtvariables.CdtVariableException; import org.eclipse.cdt.core.cdtvariables.ICdtVariable; import org.eclipse.cdt.core.cdtvariables.ICdtVariableStatus; +import org.eclipse.cdt.internal.core.cdtvariables.CdtMacroSupplier; /** - * Utility class to resolve macro references. Provides fixture to parse ${macro} + * Utility class to resolve macro and variable references. Provides fixture to parse ${macro} * expressions and replace macros with actual values using {@link IVariableSubstitutor}. * * @since 3.0 */ public class CdtVariableResolver { + /** @since 5.5 */ + public static final String VAR_CONFIG_NAME = CdtMacroSupplier.VAR_CONFIG_NAME; + /** @since 5.5 */ + public static final String VAR_CONFIG_DESCRIPTION = CdtMacroSupplier.VAR_CONFIG_DESCRIPTION; + /** @since 5.5 */ + public static final String VAR_PROJ_NAME = CdtMacroSupplier.VAR_PROJ_NAME; + /** @since 5.5 */ + public static final String VAR_PROJ_DIR_PATH = CdtMacroSupplier.VAR_PROJ_DIR_PATH; + /** @since 5.5 */ + public static final String VAR_WORKSPACE_DIR_PATH = CdtMacroSupplier.VAR_WORKSPACE_DIR_PATH; + /** @since 5.5 */ + public static final String VAR_DIRECTORY_DELIMITER = CdtMacroSupplier.VAR_DIRECTORY_DELIMITER; + /** @since 5.5 */ + public static final String VAR_PATH_DELIMITER = CdtMacroSupplier.VAR_PATH_DELIMITER; + /** @since 5.5 */ + public static final String VAR_ECLIPSE_VERSION = CdtMacroSupplier.VAR_ECLIPSE_VERSION; + /** @since 5.5 */ + public static final String VAR_CDT_VERSION = CdtMacroSupplier.VAR_CDT_VERSION; + /** @since 5.5 */ + public static final String VAR_HOST_OS_NAME = CdtMacroSupplier.VAR_HOST_OS_NAME; + /** @since 5.5 */ + public static final String VAR_HOST_ARCH_NAME = CdtMacroSupplier.VAR_HOST_ARCH_NAME; + /** @since 5.5 */ + public static final String VAR_OS_TYPE = CdtMacroSupplier.VAR_OS_TYPE; + /** @since 5.5 */ + public static final String VAR_ARCH_TYPE = CdtMacroSupplier.VAR_ARCH_TYPE; + private static final String EMPTY_STRING = ""; //$NON-NLS-1$ - + public static final String VARIABLE_PREFIX = "${"; //$NON-NLS-1$ private static final String VARIABLE_PREFIX_MASKED = "$\1"; //$NON-NLS-1$ public static final char VARIABLE_SUFFIX = '}'; diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsImages.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsImages.java index feb38597b99..8b70c77ceef 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsImages.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsImages.java @@ -27,6 +27,7 @@ import org.eclipse.cdt.core.settings.model.util.CDataUtil; import org.eclipse.cdt.ui.CDTSharedImages; import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.utils.UNCPathConverter; +import org.eclipse.cdt.utils.cdtvariables.CdtVariableResolver; import org.eclipse.cdt.internal.ui.newui.Messages; @@ -34,7 +35,8 @@ import org.eclipse.cdt.internal.ui.newui.Messages; * Helper class to provide unified images for {@link ICLanguageSettingEntry}. */ public class LanguageSettingsImages { - private static final String PROJ_NAME_PREFIX = "/${ProjName}/"; //$NON-NLS-1$ + // evaluates to "/${ProjName)/" + private static final String PROJ_NAME_PREFIX = '/' + CdtVariableResolver.createVariableReference(CdtVariableResolver.VAR_PROJ_NAME) + '/'; /** * Check if the language settings entry should be presented as "project-relative" in UI.