aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/query2
diff options
context:
space:
mode:
authorGravatar shreyax <shreyax@google.com>2018-04-05 09:30:46 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-05 09:32:01 -0700
commitd7829b1cb0cfbafe10a70c0a4868158dba46b27a (patch)
tree51057439d6447af16afb73df6f2574cc8c2848a5 /src/main/java/com/google/devtools/build/lib/query2
parentf04efab173e7bb2ef0280a79b1c7c53280c56b60 (diff)
Expose build file label retrieval as a protected member.
PiperOrigin-RevId: 191752718
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/query2')
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java b/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
index c96a9ecc71..0c8d656c10 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
@@ -760,19 +760,7 @@ public class SkyQueryEnvironment extends AbstractBlazeQueryEnvironment<Target>
// Also add the BUILD file of the extension.
if (buildFiles) {
- Path buildFileForLoad = null;
- try {
- buildFileForLoad =
- pkgPath.getPackageBuildFile(loadTarget.getLabel().getPackageIdentifier());
- } catch (NoSuchPackageException e) {
- throw new QueryException(
- loadTarget.getLabel().getPackageIdentifier() + " does not exist in graph");
- }
- Label buildFileLabel =
- Label.createUnvalidated(
- loadTarget.getLabel().getPackageIdentifier(),
- buildFileForLoad.getBaseName());
-
+ Label buildFileLabel = getBuildFileLabel(loadTarget.getLabel().getPackageIdentifier());
addIfUniqueLabel(new FakeLoadTarget(buildFileLabel, pkg), seenLabels, dependentFiles);
}
}
@@ -781,6 +769,17 @@ public class SkyQueryEnvironment extends AbstractBlazeQueryEnvironment<Target>
return dependentFiles;
}
+ protected Label getBuildFileLabel(PackageIdentifier packageIdentifier) throws QueryException {
+ // TODO(bazel-team): Try avoid filesystem access here.
+ Path buildFileForLoad = null;
+ try {
+ buildFileForLoad = pkgPath.getPackageBuildFile(packageIdentifier);
+ } catch (NoSuchPackageException e) {
+ throw new QueryException(packageIdentifier + " does not exist in graph");
+ }
+ return Label.createUnvalidated(packageIdentifier, buildFileForLoad.getBaseName());
+ }
+
private static void addIfUniqueLabel(Target node, Set<Label> labels, Set<Target> nodes) {
if (labels.add(node.getLabel())) {
nodes.add(node);