diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/sandbox/SandboxStrategy.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/sandbox/SandboxStrategy.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxStrategy.java index 7a12e9b600..2b63527013 100644 --- a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxStrategy.java +++ b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxStrategy.java @@ -44,12 +44,16 @@ abstract class SandboxStrategy implements SpawnActionContext { } /** Gets the list of directories that the spawn will assume to be writable. */ - protected ImmutableSet<Path> getWritableDirs(Path sandboxExecRoot, Map<String, String> env) { + protected ImmutableSet<Path> getWritableDirs(Path sandboxExecRoot, Map<String, String> env, + ImmutableSet<PathFragment> outputs) { Builder<Path> writableDirs = ImmutableSet.builder(); // We have to make the TEST_TMPDIR directory writable if it is specified. if (env.containsKey("TEST_TMPDIR")) { writableDirs.add(sandboxExecRoot.getRelative(env.get("TEST_TMPDIR"))); } + for (PathFragment output : outputs) { + writableDirs.add(sandboxExecRoot.getRelative(output).getParentDirectory()); + } return writableDirs.build(); } |