diff options
author | 2015-04-17 09:57:13 +0000 | |
---|---|---|
committer | 2015-04-17 15:40:54 +0000 | |
commit | 3e071282b5919f781f6211b671941dad9ee69625 (patch) | |
tree | 951355ebc59cc5ecc0606df72cd9b84c91aeb06a /src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java | |
parent | 4d4555f135762015a68417339f81df6cd518c742 (diff) |
Remove the full client environment from BuildConfiguration in favor of computing the test environment as early as possible, and passing that along.
--
MOS_MIGRATED_REVID=91388451
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java index 868f454579..2a0e87df96 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java @@ -225,6 +225,29 @@ public final class BlazeRuntime { private final ProjectFile.Provider projectFileProvider; + /** + * Returns user-specified test environment variables and their values, as + * set by the --test_env options. + * + * @param envOverrides The --test_env flag values. + * @param clientEnvironment The full client environment. + */ + private static Map<String, String> computeTestEnv(List<Map.Entry<String, String>> envOverrides, + Map<String, String> clientEnvironment) { + Map<String, String> testEnv = new HashMap<>(); + for (Map.Entry<String, String> var : envOverrides) { + if (var.getValue() != null) { + testEnv.put(var.getKey(), var.getValue()); + } else { + String value = clientEnvironment.get(var.getKey()); + if (value != null) { + testEnv.put(var.getKey(), value); + } + } + } + return testEnv; + } + private class BlazeModuleEnvironment implements BlazeModule.ModuleEnvironment { @Override public Path getFileFromDepot(Label label) @@ -961,7 +984,10 @@ public final class BlazeRuntime { */ public BuildConfigurationKey getBuildConfigurationKey(BuildOptions buildOptions, ImmutableSortedSet<String> multiCpu) { - return new BuildConfigurationKey(buildOptions, directories, clientEnv, multiCpu); + Map<String, String> testEnv = computeTestEnv( + buildOptions.get(BuildConfiguration.Options.class).testEnvironment, + clientEnv); + return new BuildConfigurationKey(buildOptions, directories, testEnv, multiCpu); } /** |