Interface IEnvironmentVariableManager


  • public interface IEnvironmentVariableManager
    this interface represent the environment variable provider - the main entry-point to be used for querying the build environment
    Since:
    3.0
    Restriction:
    This interface is not intended to be implemented by clients.
    Restriction:
    This interface is not intended to be extended by clients.
    • Method Detail

      • getVariable

        IEnvironmentVariable getVariable​(String name,
                                         ICConfigurationDescription cfg,
                                         boolean resolveMacros)
        Parameters:
        name - environment variable name if environment variable names are case insensitive in the current OS, the environment variable provider will query the getVariable method of suppliers always passing it the upper-case variable name not depending on the case of the variableName passed to the IEnvironmentVariableProvider.getVariable() method. This will prevent the supplier from answering different values for the same variable given the names that differ only by case. E.g. if the current OS does not support case sensitive variables both of the calls below: provider.getVariable("FOO",level,includeParentContexts); provider.getVariable("foo",level,includeParentContexts); will result in asking suppliers for the "FOO" variable
        Returns:
        the reference to the IBuildEnvironmentVariable interface representing the variable of a given name or null
      • getVariables

        IEnvironmentVariable[] getVariables​(ICConfigurationDescription cfg,
                                            boolean resolveMacros)
        if environment variable names are case insensitive in the current OS, the environment variable provider will remove the duplicates of the variables if their names differ only by case
        Returns:
        the array of IBuildEnvironmentVariable that represents the environment variables (the array may contain null values)
      • getVariables

        IEnvironmentVariable[] getVariables​(org.eclipse.core.resources.IBuildConfiguration config,
                                            boolean resolveMacros)
        Returns a list of environment variables for the given build configuration.
        Parameters:
        config - the build configuration
        resolveMacros - whether to resolve macros in the variable values
        Returns:
        the list of environment variables
        Since:
        6.0
      • getVariable

        IEnvironmentVariable getVariable​(String name,
                                         org.eclipse.core.resources.IBuildConfiguration config,
                                         boolean resolveMacros)
        Returns the named environment variable in the given build configuration.
        Parameters:
        name - the name of the environment variable
        config - the build configuration
        resolveMacros - whether to resolve macros
        Returns:
        the environment variable
        Since:
        6.0
      • setEnvironment

        void setEnvironment​(Map<String,​String> env,
                            org.eclipse.core.resources.IBuildConfiguration config,
                            boolean resolveMacros)
        Set the environment for a given build configuration.
        Parameters:
        env - environment variable map
        config - build configuration
        resolveMacros - whether to resolve macros
        Since:
        6.0
      • getDefaultDelimiter

        String getDefaultDelimiter()
        Returns:
        the String representing default system delimiter. That is the ":" for Unix-like systems and the ";" for Win32 systems. This method will be used by the tool-integrator provided variable supplier e.g. in order to concatenate the list of paths into the environment variable, etc.