aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar juliexxia <juliexxia@google.com>2018-02-16 07:55:21 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-16 07:56:51 -0800
commit8d4f813031002ecb4cdab0d11159df8f9bc9eebb (patch)
tree6e91c696e61557a6174df12a6a15b087437e82ab /src/main/java
parentcfe5994540f20901906ce0c39d6f57d3ad02d677 (diff)
Fix http://b/73496081 which was caused by not filtering on aliasconfiguredtargets that are actually ruleconfiguredtargets.
PiperOrigin-RevId: 185996274
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/ConfiguredTargetQueryEnvironment.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/query2/ConfiguredTargetQueryEnvironment.java b/src/main/java/com/google/devtools/build/lib/query2/ConfiguredTargetQueryEnvironment.java
index a694ab3f8c..8ff1716644 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/ConfiguredTargetQueryEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/ConfiguredTargetQueryEnvironment.java
@@ -52,6 +52,7 @@ import com.google.devtools.build.lib.query2.engine.QueryUtil.UniquifierImpl;
import com.google.devtools.build.lib.query2.engine.ThreadSafeOutputFormatterCallback;
import com.google.devtools.build.lib.query2.engine.Uniquifier;
import com.google.devtools.build.lib.query2.output.QueryOptions;
+import com.google.devtools.build.lib.rules.AliasConfiguredTarget;
import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey;
import com.google.devtools.build.lib.skyframe.ConfiguredTargetValue;
import com.google.devtools.build.lib.skyframe.GraphBackedRecursivePackageProvider;
@@ -375,9 +376,13 @@ public class ConfiguredTargetQueryEnvironment
private Collection<ConfiguredTarget> filterFwdDeps(
ConfiguredTarget configTarget, Collection<ConfiguredTarget> rawFwdDeps)
throws InterruptedException {
- if (!(configTarget instanceof RuleConfiguredTarget) || settings.isEmpty()) {
+ if (settings.isEmpty()) {
return rawFwdDeps;
}
+ if (configTarget instanceof AliasConfiguredTarget
+ && ((AliasConfiguredTarget) configTarget).getActual() instanceof RuleConfiguredTarget) {
+ return getAllowedDeps(((AliasConfiguredTarget) configTarget).getActual(), rawFwdDeps);
+ }
return getAllowedDeps(configTarget, rawFwdDeps);
}