diff options
author | 2017-07-12 12:10:11 +0200 | |
---|---|---|
committer | 2017-07-12 16:02:39 +0200 | |
commit | 264f40fb42ce1390f9ee420f923b77ef3a82327f (patch) | |
tree | 11e16746189e6ee28b57c9294f8570715e4edb87 /src/main/java/com/google/devtools/build/lib/remote | |
parent | 423a46a11acd109467573c3344a4dd49f211aea6 (diff) |
Rewrite all the sandbox strategy implementations
- Make use of existing abstractions like SpawnRunner and SpawnExecutionPolicy.
- Instead of having the *Strategy create a *Runner, and then call back into
SandboxStrategy, create a single SandboxContainer which contains the full
command line, environment, and everything needed to create and delete the
sandbox directory.
- Do all the work in SandboxStrategy, including creation and deletion of the
sandbox directory.
- Use SpawnResult instead of throwing, catching, and rethrowing.
- Simplify the control flow a bit.
PiperOrigin-RevId: 161644979
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/remote')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnStrategy.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnStrategy.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnStrategy.java index 9a1c415589..ea5e43a7d2 100644 --- a/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnStrategy.java +++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnStrategy.java @@ -18,6 +18,7 @@ import com.google.devtools.build.lib.actions.ActionExecutionContext; import com.google.devtools.build.lib.actions.ActionInput; import com.google.devtools.build.lib.actions.ActionInputFileCache; import com.google.devtools.build.lib.actions.ActionStatusMessage; +import com.google.devtools.build.lib.actions.Artifact.ArtifactExpander; import com.google.devtools.build.lib.actions.EnvironmentalExecException; import com.google.devtools.build.lib.actions.ExecException; import com.google.devtools.build.lib.actions.ExecutionStrategy; @@ -87,6 +88,11 @@ final class RemoteSpawnStrategy implements SpawnActionContext { } @Override + public ArtifactExpander getArtifactExpander() { + return actionExecutionContext.getArtifactExpander(); + } + + @Override public void lockOutputFiles() throws InterruptedException { // This is only needed for the dynamic spawn strategy, which we still need to actually // implement. |