mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
bug 402023: Provide programmatic access for names of CdtMacroSupplier variables ($ProjName, $ConfigName etc.)
This commit is contained in:
parent
75e17131c0
commit
2d5584fe98
6 changed files with 111 additions and 67 deletions
|
@ -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<String> testArray = mergeContinuationLines(getContents(testFile));
|
||||
ArrayList<String> benchmarkArray = mergeContinuationLines(getContents(benchmarkFile));
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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 = '}';
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Add table
Reference in a new issue