aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/extra
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/extra')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java12
1 files changed, 9 insertions, 3 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 9290fc79a2..a1f82a9785 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
@@ -52,6 +52,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import javax.annotation.Nullable;
+
/**
* Action used by extra_action rules to create an action that shadows an existing action. Runs a
* command-line using {@link SpawnActionContext} for executions.
@@ -115,8 +117,9 @@ public final class ExtraAction extends SpawnAction {
return shadowedAction.discoversInputs();
}
+ @Nullable
@Override
- public void discoverInputs(ActionExecutionContext actionExecutionContext)
+ public Collection<Artifact> discoverInputs(ActionExecutionContext actionExecutionContext)
throws ActionExecutionException, InterruptedException {
Preconditions.checkState(discoversInputs(), this);
if (getContext(actionExecutionContext.getExecutor()).isRemotable(getMnemonic(),
@@ -124,10 +127,13 @@ public final class ExtraAction extends SpawnAction {
// 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) {
- updateInputs(
- ((AbstractAction) shadowedAction).getInputFilesForExtraAction(actionExecutionContext));
+ Iterable<Artifact> additionalInputs =
+ ((AbstractAction) shadowedAction).getInputFilesForExtraAction(actionExecutionContext);
+ updateInputs(additionalInputs);
+ return ImmutableSet.copyOf(additionalInputs);
}
}
+ return null;
}
@Override