aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/extra
diff options
context:
space:
mode:
authorGravatar Marian Lobur <loburm@google.com>2015-02-11 08:49:36 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-02-11 08:49:36 +0000
commit4e0f8560d754f021f784b3e48acb18a4ec99fd97 (patch)
tree09d928dc7668b118b70787b78309cf66427f1b23 /src/main/java/com/google/devtools/build/lib/rules/extra
parentcdc90e9279fdd127720cb0bf8548ce3e1b4f6042 (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.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 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;
}
/**