diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java | 13 |
1 files changed, 5 insertions, 8 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 866e45e20a..9f07c98285 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 @@ -114,18 +114,15 @@ public final class ExtraAction extends SpawnAction { @Nullable @Override - public Iterable<Artifact> discoverInputs(ActionExecutionContext actionExecutionContext) + public synchronized Iterable<Artifact> discoverInputs( + ActionExecutionContext actionExecutionContext) throws ActionExecutionException, InterruptedException { Preconditions.checkState(discoversInputs(), this); // 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, runfilesSupplier)); - return ImmutableSet.copyOf(additionalInputs); - } - return null; + Iterable<Artifact> additionalInputs = shadowedAction.discoverInputs(actionExecutionContext); + updateInputs(createInputs(additionalInputs, extraActionInputs, runfilesSupplier)); + return additionalInputs; } @Override |