Package com.atlassian.bamboo.process
Interface EnvironmentVariableAccessor
-
- All Known Implementing Classes:
EnvironmentVariableAccessorImpl
@PublicApi public interface EnvironmentVariableAccessor
Accessor for all environment variables needed by theProcessService
.- Since:
- 3.1
-
-
Field Summary
Fields Modifier and Type Field Description static int
MAX_SAFE_ENVIRONMENT_LENGTH
static int
MAX_SAFE_INDIVIDUAL_VARIABLE_LENGTH
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull Map<String,String>
getEnvironment()
@NotNull Map<String,String>
getEnvironment(@NotNull CommonTaskContext taskContext)
UseTaskContext
as a source of environment settings.@NotNull List<String>
getPaths(@NotNull CommonTaskContext taskContext)
UseTaskContext
as a source of additional PATH settings.@NotNull String
joinEnvironmentVariables(@NotNull Iterable<Map.Entry<String,String>> environmentVariables)
Concatenate environment variables into string.@NotNull String
joinEnvironmentVariables(@NotNull Map<String,String> environmentVariables)
Concatenate environment variables into string.@NotNull Map<String,String>
splitEnvironmentAssignments(@NotNull String environmentAssignments)
Splits "Environment settings" string into array of separate strings.@NotNull Map<String,String>
splitEnvironmentAssignments(@NotNull String environmentAssignments, boolean processBackslashes)
Splits "Environment settings" string into array of separate strings.void
validateEnvironmentVariables(@NotNull Iterable<Map.Entry<String,String>> environmentVariables)
Perform basic validation of environment settings before passing it to process-utilsvoid
validateEnvironmentVariables(@NotNull Map<String,String> environmentVariables)
Perform basic validation of environment settings before passing it to process-utils
-
-
-
Field Detail
-
MAX_SAFE_ENVIRONMENT_LENGTH
static final int MAX_SAFE_ENVIRONMENT_LENGTH
- See Also:
- Constant Field Values
-
MAX_SAFE_INDIVIDUAL_VARIABLE_LENGTH
static final int MAX_SAFE_INDIVIDUAL_VARIABLE_LENGTH
- See Also:
- Constant Field Values
-
-
Method Detail
-
getEnvironment
@NotNull @NotNull Map<String,String> getEnvironment(@NotNull @NotNull CommonTaskContext taskContext)
UseTaskContext
as a source of environment settings. The following variables will be returned - variables for variable definitions from taskContext - JAVA_HOME (if defined in task configuration and appropriate capability exists)- Parameters:
taskContext
-TaskContext
object- Returns:
- Key-value map
-
getPaths
@NotNull @NotNull List<String> getPaths(@NotNull @NotNull CommonTaskContext taskContext)
UseTaskContext
as a source of additional PATH settings. The following values might be returned - $JAVA_HOME/bin (if defined in task configuration and appropriate capability exists)- Parameters:
taskContext
-TaskContext
object- Returns:
- List of paths (which will be probably added to PATH by caller
-
joinEnvironmentVariables
@NotNull @NotNull String joinEnvironmentVariables(@NotNull @NotNull Map<String,String> environmentVariables)
Concatenate environment variables into string.- Parameters:
environmentVariables
- Map of key-value pairs to be concatenated- Returns:
- concatenated environment variables in form "KEY1=VALUE1 KEY2=VALUE2 ..."
-
joinEnvironmentVariables
@NotNull @NotNull String joinEnvironmentVariables(@NotNull @NotNull Iterable<Map.Entry<String,String>> environmentVariables)
Concatenate environment variables into string.- Parameters:
environmentVariables
- Map.Entry iterable of key-value pairs to be concatenated- Returns:
- concatenated environment variables in form "KEY1=VALUE1 KEY2=VALUE2 ..."
-
splitEnvironmentAssignments
@NotNull @NotNull Map<String,String> splitEnvironmentAssignments(@NotNull @NotNull String environmentAssignments, boolean processBackslashes)
Splits "Environment settings" string into array of separate strings. Quoting is taken into consideration. An environment setting is defined as a sequence of characters [noquote]+([quote][noquote]+[quote])? or [quote][noquote][quote]- Parameters:
environmentAssignments
- the string containing KEY=VALUE assignments separated with white charactersprocessBackslashes
- whether to treat a backslash as an ordinary or quoting character- Returns:
- Map of separated environment settings.
-
splitEnvironmentAssignments
@NotNull @NotNull Map<String,String> splitEnvironmentAssignments(@NotNull @NotNull String environmentAssignments)
Splits "Environment settings" string into array of separate strings. Quoting using single and double quotes, but not backslashes is taken into consideration. An environment setting is defined as a sequence of characters. [noquote]+([quote][noquote]+[quote])? or [quote][noquote][quote]- Parameters:
environmentAssignments
- string containing KEY=VALUE assignments separated with white characters- Returns:
- Map of separated environment settings.
-
validateEnvironmentVariables
void validateEnvironmentVariables(@NotNull @NotNull Map<String,String> environmentVariables)
Perform basic validation of environment settings before passing it to process-utils- Parameters:
environmentVariables
- Map.Entry iterable of key-value pairs to be concatenated
-
validateEnvironmentVariables
void validateEnvironmentVariables(@NotNull @NotNull Iterable<Map.Entry<String,String>> environmentVariables)
Perform basic validation of environment settings before passing it to process-utils- Parameters:
environmentVariables
- Map.Entry iterable of key-value pairs to be concatenated
-
-