aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/query2/output
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/query2/output')
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/output/AspectResolver.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/output/ConservativeAspectResolver.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/output/NullAspectResolver.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/output/ProtoOutputFormatter.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/output/XmlOutputFormatter.java3
6 files changed, 20 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/AspectResolver.java b/src/main/java/com/google/devtools/build/lib/query2/output/AspectResolver.java
index 52f9875b1a..712010006c 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/output/AspectResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/output/AspectResolver.java
@@ -17,6 +17,7 @@ import com.google.common.collect.ImmutableMultimap;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.packages.Attribute;
+import com.google.devtools.build.lib.packages.DependencyFilter;
import com.google.devtools.build.lib.packages.Package;
import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.pkgcache.PackageProvider;
@@ -86,7 +87,8 @@ public interface AspectResolver {
* Compute additional dependencies of target from aspects. This method may load the direct deps
* of target to determine their types. Returns map of attributes and corresponding label values.
*/
- ImmutableMultimap<Attribute, Label> computeAspectDependencies(Target target)
+ ImmutableMultimap<Attribute, Label> computeAspectDependencies(Target target,
+ DependencyFilter dependencyFilter)
throws InterruptedException;
/**
diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/ConservativeAspectResolver.java b/src/main/java/com/google/devtools/build/lib/query2/output/ConservativeAspectResolver.java
index 47ed795747..1b28bcdbc8 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/output/ConservativeAspectResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/output/ConservativeAspectResolver.java
@@ -34,7 +34,8 @@ import java.util.Set;
*/
public class ConservativeAspectResolver implements AspectResolver {
@Override
- public ImmutableMultimap<Attribute, Label> computeAspectDependencies(Target target)
+ public ImmutableMultimap<Attribute, Label> computeAspectDependencies(Target target,
+ DependencyFilter dependencyFilter)
throws InterruptedException {
if (!(target instanceof Rule)) {
return ImmutableMultimap.of();
@@ -45,7 +46,7 @@ public class ConservativeAspectResolver implements AspectResolver {
for (Attribute attribute : rule.getAttributes()) {
for (Aspect aspect : attribute.getAspects(rule)) {
AspectDefinition.addAllAttributesOfAspect(
- rule, result, aspect.getDefinition(), DependencyFilter.ALL_DEPS);
+ rule, result, aspect, dependencyFilter);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/NullAspectResolver.java b/src/main/java/com/google/devtools/build/lib/query2/output/NullAspectResolver.java
index c52e4e6c52..1b1f9a3b99 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/output/NullAspectResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/output/NullAspectResolver.java
@@ -17,6 +17,7 @@ import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.packages.Attribute;
+import com.google.devtools.build.lib.packages.DependencyFilter;
import com.google.devtools.build.lib.packages.Package;
import com.google.devtools.build.lib.packages.Target;
@@ -29,7 +30,8 @@ import java.util.Set;
*/
public class NullAspectResolver implements AspectResolver {
@Override
- public ImmutableMultimap<Attribute, Label> computeAspectDependencies(Target target)
+ public ImmutableMultimap<Attribute, Label> computeAspectDependencies(Target target,
+ DependencyFilter dependencyFilter)
throws InterruptedException {
return ImmutableMultimap.of();
}
diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java b/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java
index 2abe834737..4035d2201c 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java
@@ -54,7 +54,8 @@ public class PreciseAspectResolver implements AspectResolver {
}
@Override
- public ImmutableMultimap<Attribute, Label> computeAspectDependencies(Target target)
+ public ImmutableMultimap<Attribute, Label> computeAspectDependencies(Target target,
+ DependencyFilter dependencyFilter)
throws InterruptedException {
Multimap<Attribute, Label> result = LinkedListMultimap.create();
if (target instanceof Rule) {
@@ -64,7 +65,12 @@ public class PreciseAspectResolver implements AspectResolver {
Target toTarget;
try {
toTarget = packageProvider.getTarget(eventHandler, entry.getValue());
- result.putAll(AspectDefinition.visitAspectsIfRequired(target, entry.getKey(), toTarget));
+ result.putAll(
+ AspectDefinition.visitAspectsIfRequired(
+ target,
+ entry.getKey(),
+ toTarget,
+ dependencyFilter));
} catch (NoSuchThingException e) {
// Do nothing. One of target direct deps has an error. The dependency on the BUILD file
// (or one of the files included in it) will be reported in the query result of :BUILD.
diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/ProtoOutputFormatter.java b/src/main/java/com/google/devtools/build/lib/query2/output/ProtoOutputFormatter.java
index 84554af961..e8fa723003 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/output/ProtoOutputFormatter.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/output/ProtoOutputFormatter.java
@@ -177,7 +177,7 @@ public class ProtoOutputFormatter extends AbstractUnorderedFormatter {
}
ImmutableMultimap<Attribute, Label> aspectsDependencies =
- aspectResolver.computeAspectDependencies(target);
+ aspectResolver.computeAspectDependencies(target, dependencyFilter);
// Add information about additional attributes from aspects.
for (Entry<Attribute, Collection<Label>> entry : aspectsDependencies.asMap().entrySet()) {
Attribute attribute = entry.getKey();
diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/XmlOutputFormatter.java b/src/main/java/com/google/devtools/build/lib/query2/output/XmlOutputFormatter.java
index a14facf398..6de67a259e 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/output/XmlOutputFormatter.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/output/XmlOutputFormatter.java
@@ -155,7 +155,8 @@ class XmlOutputFormatter extends AbstractUnorderedFormatter {
inputElem.setAttribute("name", label.toString());
elem.appendChild(inputElem);
}
- for (Label label : aspectResolver.computeAspectDependencies(target).values()) {
+ for (Label label :
+ aspectResolver.computeAspectDependencies(target, dependencyFilter).values()) {
Element inputElem = doc.createElement("rule-input");
inputElem.setAttribute("name", label.toString());
elem.appendChild(inputElem);