diff options
author | 2015-02-10 17:16:52 +0000 | |
---|---|---|
committer | 2015-02-10 17:16:52 +0000 | |
commit | a242f210e6584a4fbe2b29e2ca42e94dbb843552 (patch) | |
tree | a78f60251f3173b9ecab21b0e9dbe199e74327e6 /src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java | |
parent | 5be2c8101facc8668f8b023726d8825046bc9c42 (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.java | 18 |
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(); |