aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/query2/BlazeQueryEnvironment.java
diff options
context:
space:
mode:
authorGravatar jcater <jcater@google.com>2017-12-05 17:48:11 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-05 17:50:21 -0800
commita2d2615362c65be98629b39ce39754a325ed1c42 (patch)
tree34ee3120287d244f57ce6bda51609ed51fb11e76 /src/main/java/com/google/devtools/build/lib/query2/BlazeQueryEnvironment.java
parent21fdc48b07682314a5cee5d4625425f627255c0e (diff)
Check for null build file returned from getBuildFileForPackage.
This can occur in genqueries when a referenced package isn't in the scope. PiperOrigin-RevId: 178038701
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/query2/BlazeQueryEnvironment.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/BlazeQueryEnvironment.java15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/query2/BlazeQueryEnvironment.java b/src/main/java/com/google/devtools/build/lib/query2/BlazeQueryEnvironment.java
index 5445d40fc3..3e4135b8f3 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/BlazeQueryEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/BlazeQueryEnvironment.java
@@ -416,18 +416,21 @@ public class BlazeQueryEnvironment extends AbstractBlazeQueryEnvironment<Target>
Path buildFileForSubinclude =
packageProvider.getBuildFileForPackage(
subincludeTarget.getLabel().getLabel().getPackageIdentifier());
- Label buildFileLabel =
- Label.createUnvalidated(
- subincludeTarget.getLabel().getLabel().getPackageIdentifier(),
- buildFileForSubinclude.getBaseName());
- addIfUniqueLabel(
- getNode(new FakeLoadTarget(buildFileLabel, pkg)), seenLabels, dependentFiles);
+ if (buildFileForSubinclude != null) {
+ Label buildFileLabel =
+ Label.createUnvalidated(
+ subincludeTarget.getLabel().getLabel().getPackageIdentifier(),
+ buildFileForSubinclude.getBaseName());
+ addIfUniqueLabel(
+ getNode(new FakeLoadTarget(buildFileLabel, pkg)), seenLabels, dependentFiles);
+ }
}
}
}
}
return dependentFiles;
}
+
@Override
protected void preloadOrThrow(QueryExpression caller, Collection<String> patterns)
throws TargetParsingException, InterruptedException {