diff options
author | 2018-02-16 07:55:21 -0800 | |
---|---|---|
committer | 2018-02-16 07:56:51 -0800 | |
commit | 8d4f813031002ecb4cdab0d11159df8f9bc9eebb (patch) | |
tree | 6e91c696e61557a6174df12a6a15b087437e82ab /src/main/java | |
parent | cfe5994540f20901906ce0c39d6f57d3ad02d677 (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.java | 7 |
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); } |