aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/worker
diff options
context:
space:
mode:
authorGravatar László Csomor <laszlocsomor@google.com>2017-10-16 17:11:55 +0200
committerGravatar Jakob Buchgraber <buchgr@google.com>2017-10-16 17:49:14 +0200
commitcfccdf1f6e93125d894ff40e0ccecaf20cc20ef5 (patch)
tree31514750f08dafef373e2632f9643887a011836c /src/main/java/com/google/devtools/build/lib/worker
parent573a47ad80eb3553566087180d3f02149a2dc9f4 (diff)
Actions now have a temp envvar.
Every build and test action that creates a Spawn will now have platform-specific environment variables for temp directories: - on Windows: TMP and TEMP - on Linux/Darwin: TMPDIR This is particularly important on Windows where e.g. Java programs cannot create temp directories unless there's a valid TMP or TEMP environment variable set. Fixes: - https://github.com/bazelbuild/bazel/issues/1590 - https://github.com/bazelbuild/bazel/issues/2349 - https://github.com/bazelbuild/bazel/issues/2870 Change-Id: Ib758307daf6b3a51b0f71ae5e65e5bb564dad643 PiperOrigin-RevId: 172326371
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/worker')
-rw-r--r--src/main/java/com/google/devtools/build/lib/worker/WorkerActionContextProvider.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/worker/WorkerActionContextProvider.java b/src/main/java/com/google/devtools/build/lib/worker/WorkerActionContextProvider.java
index 50f6e2dd8f..e6e9382fc6 100644
--- a/src/main/java/com/google/devtools/build/lib/worker/WorkerActionContextProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/worker/WorkerActionContextProvider.java
@@ -55,7 +55,11 @@ final class WorkerActionContextProvider extends ActionContextProvider {
LocalExecutionOptions localExecutionOptions =
env.getOptions().getOptions(LocalExecutionOptions.class);
LocalEnvProvider localEnvProvider =
- OS.getCurrent() == OS.DARWIN ? new XCodeLocalEnvProvider() : LocalEnvProvider.UNMODIFIED;
+ OS.getCurrent() == OS.DARWIN
+ ? new XCodeLocalEnvProvider()
+ : (OS.getCurrent() == OS.WINDOWS
+ ? LocalEnvProvider.ADD_TEMP_WINDOWS
+ : LocalEnvProvider.ADD_TEMP_POSIX);
return new LocalSpawnRunner(
env.getExecRoot(),
localExecutionOptions,