diff options
author | 2018-01-11 15:17:28 -0800 | |
---|---|---|
committer | 2018-01-11 15:19:05 -0800 | |
commit | 1a19b62bc493d83734c34c888401d5c45e8bf55c (patch) | |
tree | d71e057a8193a845b2268e8937aa406caa395e09 /src/main/java/com/google/devtools/build/lib/sandbox | |
parent | ac2666018e6a4ad37cd108ea86715d8a4904bb01 (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')
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()); |