aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java
diff options
context:
space:
mode:
authorGravatar Eric Fellheimer <felly@google.com>2015-04-01 22:37:47 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-04-02 12:49:47 +0000
commitf6579daf14986c2727b82b843324fc4679cb0d0f (patch)
treea2aeee12c9d673bbbd92556e80016eae8fcd5a9c /src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java
parente955287c84e4bcaf309e57ddab1bf808ce3cf046 (diff)
Remove direct store of Target from NoSuchTargetException. Instead, just note the fact that a valid Target exists, and instead request it directly from its Package.
-- MOS_MIGRATED_REVID=90107670
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java
index 1abec5d635..a1c1968c35 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java
@@ -121,6 +121,12 @@ final class SkyframeLabelVisitor implements TransitivePackageLoader {
}
warnAboutLoadingFailure(topLevelLabel, eventHandler);
for (SkyKey badKey : errorInfo.getRootCauses()) {
+ if (badKey.functionName() == SkyFunctions.PACKAGE) {
+ // Transitive target function may ask for a Package, but don't include this in the root
+ // causes. We'll get more precise information from dependencies on transitive and direct
+ // target dependencies.
+ continue;
+ }
Preconditions.checkState(badKey.argument() instanceof Label,
"%s %s %s", key, errorInfo, badKey);
rootCauses.put(topLevelLabel, (Label) badKey.argument());