diff options
author | shreyax <shreyax@google.com> | 2018-04-05 09:30:46 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-04-05 09:32:01 -0700 |
commit | d7829b1cb0cfbafe10a70c0a4868158dba46b27a (patch) | |
tree | 51057439d6447af16afb73df6f2574cc8c2848a5 /src/main/java/com/google/devtools/build/lib/query2 | |
parent | f04efab173e7bb2ef0280a79b1c7c53280c56b60 (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.java | 25 |
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); |