Introduce the 'siblings' query function.
RELNOTES[NEW]: There is now a 'siblings' query function. See the query documentation for more details.
PiperOrigin-RevId: 165010653
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 2781b0f..fe267b9 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
@@ -127,6 +127,14 @@
}
@Override
+ public Collection<Target> getSiblingTargetsInPackage(Target target) {
+ Collection<Target> siblings = target.getPackage().getTargets().values();
+ // Ensure that the sibling targets are in the graph being built-up.
+ siblings.forEach(this::getNode);
+ return siblings;
+ }
+
+ @Override
public QueryTaskFuture<Void> getTargetsMatchingPattern(
QueryExpression owner, String pattern, Callback<Target> callback) {
try {