aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java34
1 files changed, 10 insertions, 24 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java b/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java
index 88e51e8a03..2e0f25bf6d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java
@@ -27,8 +27,6 @@ import com.google.devtools.build.lib.actions.ActionExecutionException;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.ArtifactResolver;
import com.google.devtools.build.lib.actions.DelegateSpawn;
-import com.google.devtools.build.lib.actions.ExecException;
-import com.google.devtools.build.lib.actions.Executor;
import com.google.devtools.build.lib.actions.PackageRootResolutionException;
import com.google.devtools.build.lib.actions.PackageRootResolver;
import com.google.devtools.build.lib.actions.Spawn;
@@ -133,16 +131,13 @@ public final class ExtraAction extends SpawnAction {
public Collection<Artifact> discoverInputs(ActionExecutionContext actionExecutionContext)
throws ActionExecutionException, InterruptedException {
Preconditions.checkState(discoversInputs(), this);
- if (getContext(actionExecutionContext.getExecutor()).isRemotable(getMnemonic(),
- isRemotable())) {
- // If we're running remotely, we need to update our inputs to take account of any additional
- // inputs the shadowed action may need to do its work.
- if (shadowedAction.discoversInputs() && shadowedAction instanceof AbstractAction) {
- Iterable<Artifact> additionalInputs =
- ((AbstractAction) shadowedAction).getInputFilesForExtraAction(actionExecutionContext);
- updateInputs(createInputs(additionalInputs, extraActionInputs));
- return ImmutableSet.copyOf(additionalInputs);
- }
+ // We need to update our inputs to take account of any additional
+ // inputs the shadowed action may need to do its work.
+ if (shadowedAction.discoversInputs() && shadowedAction instanceof AbstractAction) {
+ Iterable<Artifact> additionalInputs =
+ ((AbstractAction) shadowedAction).getInputFilesForExtraAction(actionExecutionContext);
+ updateInputs(createInputs(additionalInputs, extraActionInputs));
+ return ImmutableSet.copyOf(additionalInputs);
}
return null;
}
@@ -192,19 +187,9 @@ public final class ExtraAction extends SpawnAction {
@Override
public void execute(ActionExecutionContext actionExecutionContext)
throws ActionExecutionException, InterruptedException {
- Executor executor = actionExecutionContext.getExecutor();
-
// PHASE 2: execution of extra_action.
- if (getContext(executor).isRemotable(getMnemonic(), isRemotable())) {
- try {
- getContext(executor).exec(getExtraActionSpawn(), actionExecutionContext);
- } catch (ExecException e) {
- throw e.toActionExecutionException(this);
- }
- } else {
- super.execute(actionExecutionContext);
- }
+ super.execute(actionExecutionContext);
// PHASE 3: create dummy output.
// If the user didn't specify output, we need to create dummy output
@@ -231,7 +216,8 @@ public final class ExtraAction extends SpawnAction {
* before the SpawnAction so should not be listed as one of its outputs.
*/
// TODO(bazel-team): Add more tests that execute this code path!
- private Spawn getExtraActionSpawn() {
+ @Override
+ public Spawn getSpawn() {
final Spawn base = super.getSpawn();
return new DelegateSpawn(base) {
@Override public ImmutableMap<PathFragment, Artifact> getRunfilesManifests() {