aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/sandbox
diff options
context:
space:
mode:
authorGravatar tomlu <tomlu@google.com>2018-01-11 15:17:28 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-11 15:19:05 -0800
commit1a19b62bc493d83734c34c888401d5c45e8bf55c (patch)
treed71e057a8193a845b2268e8937aa406caa395e09 /src/main/java/com/google/devtools/build/lib/sandbox
parentac2666018e6a4ad37cd108ea86715d8a4904bb01 (diff)
Plumb exec root through to all spawn runners.
They need this to parse input manifests. Previously we would grab the exec root from the Root, but wish to unsupport this. PiperOrigin-RevId: 181669143
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/sandbox')
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/ProcessWrapperSandboxedStrategy.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/SandboxActionContextProvider.java6
4 files changed, 11 insertions, 9 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
index 7da5e47cec..fc8a3c3fad 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
@@ -18,6 +18,7 @@ import com.google.devtools.build.lib.actions.ExecutionStrategy;
import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.exec.AbstractSpawnStrategy;
import com.google.devtools.build.lib.exec.SpawnRunner;
+import com.google.devtools.build.lib.vfs.Path;
/** Strategy that uses sandboxing to execute a process, for Darwin */
//TODO(ulfjack): This class only exists for this annotation. Find a better way to handle this!
@@ -26,8 +27,8 @@ import com.google.devtools.build.lib.exec.SpawnRunner;
contextType = SpawnActionContext.class
)
final class DarwinSandboxedStrategy extends AbstractSpawnStrategy {
- DarwinSandboxedStrategy(SpawnRunner spawnRunner) {
- super(spawnRunner);
+ DarwinSandboxedStrategy(Path execRoot, SpawnRunner spawnRunner) {
+ super(execRoot, spawnRunner);
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java
index 526f155f31..9e665db734 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java
@@ -32,8 +32,8 @@ import java.util.Optional;
contextType = SpawnActionContext.class
)
public final class LinuxSandboxedStrategy extends AbstractSpawnStrategy {
- LinuxSandboxedStrategy(SpawnRunner spawnRunner) {
- super(spawnRunner);
+ LinuxSandboxedStrategy(Path execRoot, SpawnRunner spawnRunner) {
+ super(execRoot, spawnRunner);
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/ProcessWrapperSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/ProcessWrapperSandboxedStrategy.java
index a92f2698c7..83c279a726 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/ProcessWrapperSandboxedStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/ProcessWrapperSandboxedStrategy.java
@@ -18,6 +18,7 @@ import com.google.devtools.build.lib.actions.ExecutionStrategy;
import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.exec.AbstractSpawnStrategy;
import com.google.devtools.build.lib.exec.SpawnRunner;
+import com.google.devtools.build.lib.vfs.Path;
/** Strategy that uses sandboxing to execute a process. */
//TODO(ulfjack): This class only exists for this annotation. Find a better way to handle this!
@@ -26,8 +27,8 @@ import com.google.devtools.build.lib.exec.SpawnRunner;
contextType = SpawnActionContext.class
)
final class ProcessWrapperSandboxedStrategy extends AbstractSpawnStrategy {
- ProcessWrapperSandboxedStrategy(SpawnRunner spawnRunner) {
- super(spawnRunner);
+ ProcessWrapperSandboxedStrategy(Path execRoot, SpawnRunner spawnRunner) {
+ super(execRoot, spawnRunner);
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxActionContextProvider.java b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxActionContextProvider.java
index d4747c2243..9497a09dd8 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxActionContextProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxActionContextProvider.java
@@ -67,7 +67,7 @@ final class SandboxActionContextProvider extends ActionContextProvider {
cmdEnv,
new ProcessWrapperSandboxedSpawnRunner(
cmdEnv, sandboxBase, productName, timeoutKillDelay));
- contexts.add(new ProcessWrapperSandboxedStrategy(spawnRunner));
+ contexts.add(new ProcessWrapperSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner));
}
// This is the preferred sandboxing strategy on Linux.
@@ -76,7 +76,7 @@ final class SandboxActionContextProvider extends ActionContextProvider {
withFallback(
cmdEnv,
LinuxSandboxedStrategy.create(cmdEnv, sandboxBase, productName, timeoutKillDelay));
- contexts.add(new LinuxSandboxedStrategy(spawnRunner));
+ contexts.add(new LinuxSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner));
}
// This is the preferred sandboxing strategy on macOS.
@@ -85,7 +85,7 @@ final class SandboxActionContextProvider extends ActionContextProvider {
withFallback(
cmdEnv,
new DarwinSandboxedSpawnRunner(cmdEnv, sandboxBase, productName, timeoutKillDelay));
- contexts.add(new DarwinSandboxedStrategy(spawnRunner));
+ contexts.add(new DarwinSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner));
}
return new SandboxActionContextProvider(contexts.build());