diff options
author | Philipp Wollermann <philwo@google.com> | 2016-06-14 12:26:25 +0000 |
---|---|---|
committer | Yue Gan <yueg@google.com> | 2016-06-15 08:29:32 +0000 |
commit | 8d4d4937ed1dc1abec3f82100aba78df2e39a918 (patch) | |
tree | 1ea705b3cf5f637febb9e9103a3b33da50a5ce75 /src | |
parent | 014388cec904f391ce8e54d323c9e9ce527ca0eb (diff) |
sandbox: Get StandaloneSpawnStrategy from executor instead of instantiating a private copy.
--
MOS_MIGRATED_REVID=124827797
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java | 9 |
1 files changed, 4 insertions, 5 deletions
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 5c025102c2..989190554c 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 @@ -76,7 +76,6 @@ public class LinuxSandboxedStrategy implements SpawnActionContext { private final boolean verboseFailures; private final boolean sandboxDebug; private final boolean unblockNetwork; - private final StandaloneSpawnStrategy standaloneStrategy; private final List<String> sandboxAddPath; private final UUID uuid = UUID.randomUUID(); private final AtomicInteger execCounter = new AtomicInteger(); @@ -99,8 +98,6 @@ public class LinuxSandboxedStrategy implements SpawnActionContext { this.sandboxDebug = sandboxDebug; this.sandboxAddPath = sandboxAddPath; this.unblockNetwork = unblockNetwork; - this.standaloneStrategy = new StandaloneSpawnStrategy( - blazeDirs.getExecRoot(), verboseFailures, productName); this.productName = productName; } @@ -110,14 +107,16 @@ public class LinuxSandboxedStrategy implements SpawnActionContext { @Override public void exec(Spawn spawn, ActionExecutionContext actionExecutionContext) throws ExecException { + Executor executor = actionExecutionContext.getExecutor(); + // Certain actions can't run remotely or in a sandbox - pass them on to the standalone strategy. if (!spawn.isRemotable()) { + StandaloneSpawnStrategy standaloneStrategy = + Preconditions.checkNotNull(executor.getContext(StandaloneSpawnStrategy.class)); standaloneStrategy.exec(spawn, actionExecutionContext); return; } - Executor executor = actionExecutionContext.getExecutor(); - if (executor.reportsSubcommands()) { executor.reportSubcommand( Label.print(spawn.getOwner().getLabel()) + " [" + spawn.getResourceOwner().prettyPrint() |