aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/sandbox
diff options
context:
space:
mode:
authorGravatar Philipp Wollermann <philwo@google.com>2016-02-03 13:18:26 +0000
committerGravatar David Chen <dzc@google.com>2016-02-03 22:06:30 +0000
commit9446e9b55e01aee0425a1f21b47b98df55043c6f (patch)
tree59a0bdbfa93b133ed5c53ec41de9af165319a927 /src/main/java/com/google/devtools/build/lib/sandbox
parent0d1a53cf5614d621518914682ec44c6f20a27ab7 (diff)
Make The Build Faster: Drop the describeStrategy() and strategyLocality() methods, as we can simply pass an ActionStatusMessage to the EventBus instead. All SpawnActionContexts now send an appropriate message when they execute a Spawn.
This also gets rid of the idiom that an Action knows which strategy will be used to execute it - this decision and knowledge belongs to the executor, not the action. -- MOS_MIGRATED_REVID=113731846
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/sandbox')
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java17
1 files changed, 11 insertions, 6 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 b15744955d..9148014a5e 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
@@ -22,6 +22,7 @@ import com.google.devtools.build.lib.Constants;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ActionInput;
import com.google.devtools.build.lib.actions.ActionInputHelper;
+import com.google.devtools.build.lib.actions.ActionStatusMessage;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.EnvironmentalExecException;
import com.google.devtools.build.lib.actions.ExecException;
@@ -95,20 +96,24 @@ 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()) {
standaloneStrategy.exec(spawn, actionExecutionContext);
return;
}
+ Executor executor = actionExecutionContext.getExecutor();
+
if (executor.reportsSubcommands()) {
executor.reportSubcommand(
Label.print(spawn.getOwner().getLabel()) + " [" + spawn.getResourceOwner().prettyPrint()
+ "]", spawn.asShellCommand(executor.getExecRoot()));
}
+ executor
+ .getEventBus()
+ .post(ActionStatusMessage.runningStrategy(spawn.getResourceOwner(), "sandbox"));
+
FileOutErr outErr = actionExecutionContext.getFileOutErr();
// The execId is a unique ID just for this invocation of "exec".
@@ -492,12 +497,12 @@ public class LinuxSandboxedStrategy implements SpawnActionContext {
}
@Override
- public String strategyLocality(String mnemonic, boolean remotable) {
- return "linux-sandboxing";
+ public boolean isRemotable(String mnemonic, boolean remotable) {
+ return false;
}
@Override
- public boolean isRemotable(String mnemonic, boolean remotable) {
- return false;
+ public String toString() {
+ return "sandboxed";
}
}