Package com.atlassian.bamboo.process
Interface EnvironmentVariableAccessor
- All Known Implementing Classes:
EnvironmentVariableAccessorImpl
@PublicApi
public interface EnvironmentVariableAccessor
Accessor for all environment variables needed by the
ProcessService
.- Since:
- 3.1
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final int
-
Method Summary
Modifier and TypeMethodDescriptiongetEnvironment
(@NotNull CommonTaskContext taskContext) UseTaskContext
as a source of environment settings.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.splitEnvironmentAssignments
(@NotNull String environmentAssignments) Splits "Environment settings" string into array of separate strings.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 Details
-
MAX_SAFE_ENVIRONMENT_LENGTH
static final int MAX_SAFE_ENVIRONMENT_LENGTH- See Also:
-
MAX_SAFE_INDIVIDUAL_VARIABLE_LENGTH
static final int MAX_SAFE_INDIVIDUAL_VARIABLE_LENGTH- See Also:
-
-
Method Details
-
getEnvironment
-
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
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
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
-