diff options
author | 2015-02-11 08:49:36 +0000 | |
---|---|---|
committer | 2015-02-11 08:49:36 +0000 | |
commit | 4e0f8560d754f021f784b3e48acb18a4ec99fd97 (patch) | |
tree | 09d928dc7668b118b70787b78309cf66427f1b23 /src/main/java/com/google/devtools/build/lib/rules/extra | |
parent | cdc90e9279fdd127720cb0bf8548ce3e1b4f6042 (diff) |
Replace some calls to ArtifactFactory.resolveSourceArtifact(PathFragment execPath), with a skyframe native implementation ArtifactFactory.resolveSourceArtifact(Iterable<PathFragment> execPaths, PackageRootResolver resolver).
--
MOS_MIGRATED_REVID=86062289
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.java | 12 |
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 250235d2c8..9be7dc3464 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 @@ -33,6 +33,7 @@ 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.PackageRootResolver; import com.google.devtools.build.lib.actions.Spawn; import com.google.devtools.build.lib.actions.SpawnActionContext; import com.google.devtools.build.lib.actions.extra.ExtraActionInfo; @@ -152,15 +153,20 @@ public final class ExtraAction extends SpawnAction { } @Override - public void updateInputsFromCache(ArtifactResolver artifactResolver, - Collection<PathFragment> inputPaths) { + public boolean updateInputsFromCache(ArtifactResolver artifactResolver, + PackageRootResolver resolver, Collection<PathFragment> inputPaths) { // We update the inputs directly from the shadowed action. Set<PathFragment> extraActionPathFragments = ImmutableSet.copyOf(Artifact.asPathFragments(extraActionInputs)); - shadowedAction.updateInputsFromCache(artifactResolver, + boolean noMissingDependencies = shadowedAction.updateInputsFromCache(artifactResolver, resolver, Collections2.filter(inputPaths, Predicates.in(extraActionPathFragments))); + if (!noMissingDependencies) { + // This update needs to be rerun. + return false; + } Preconditions.checkState(shadowedAction.inputsKnown(), "%s %s", this, shadowedAction); updateInputs(shadowedAction.getInputs()); + return true; } /** |