aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java
diff options
context:
space:
mode:
authorGravatar Ulf Adams <ulfjack@google.com>2015-02-10 17:16:52 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-02-10 17:16:52 +0000
commita242f210e6584a4fbe2b29e2ca42e94dbb843552 (patch)
treea78f60251f3173b9ecab21b0e9dbe199e74327e6 /src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java
parent5be2c8101facc8668f8b023726d8825046bc9c42 (diff)
Copy over any input manifests from the shadowed action to the extra action.
-- MOS_MIGRATED_REVID=85994411
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.java18
1 files changed, 17 insertions, 1 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 2b53a1f1b1..250235d2c8 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
@@ -78,7 +78,13 @@ public final class ExtraAction extends SpawnAction {
createInputs(shadowedAction.getInputs(), extraActionInputs),
outputs,
AbstractAction.DEFAULT_RESOURCE_SET,
- argv, environment, progressMessage, mnemonic);
+ argv,
+ ImmutableMap.copyOf(environment),
+ ImmutableMap.<String, String>of(),
+ progressMessage,
+ getManifests(shadowedAction),
+ mnemonic,
+ null);
this.extraActionInfoFile = extraActionInfoFile;
this.shadowedAction = shadowedAction;
this.runfilesManifests = ImmutableMap.copyOf(runfilesManifests);
@@ -92,6 +98,16 @@ public final class ExtraAction extends SpawnAction {
}
}
+ private static ImmutableMap<PathFragment, Artifact> getManifests(Action shadowedAction) {
+ // If the shadowed action is a SpawnAction, then we also add the input manifests to this
+ // action's input manifests.
+ // TODO(bazel-team): Also handle other action classes correctly.
+ if (shadowedAction instanceof SpawnAction) {
+ return ((SpawnAction) shadowedAction).getInputManifests();
+ }
+ return ImmutableMap.of();
+ }
+
@Override
public boolean discoversInputs() {
return shadowedAction.discoversInputs();