aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
authorGravatar Cal Peyser <cpeyser@google.com>2017-02-21 23:47:43 +0000
committerGravatar Irina Iancu <elenairina@google.com>2017-02-22 08:28:40 +0000
commit2fe062bf34657e1794dd83d09edbf6b2f6b4979f (patch)
tree58e54ed1a9ad7e10063ed7ef56afbdf67a2f64cc /src/main
parent836d94a553141a7505aa86ba10a8bf957ab07545 (diff)
If dynamic configurations are turned on, ruleclass configuration transitions
apply on the top level. -- PiperOrigin-RevId: 148155171 MOS_MIGRATED_REVID=148155171
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/BuildView.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
index 1f12d2cc0b..015fea9071 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
@@ -850,11 +850,22 @@ public class BuildView {
for (TargetAndConfiguration targetAndConfig : inputs) {
labelsToTargets.put(targetAndConfig.getLabel(), targetAndConfig.getTarget());
+
+ Attribute.Transition ruleclassTransition = null;
+ if (targetAndConfig.getTarget().getAssociatedRule() != null) {
+ ruleclassTransition = targetAndConfig
+ .getTarget()
+ .getAssociatedRule()
+ .getRuleClassObject()
+ .getTransition();
+ }
if (targetAndConfig.getConfiguration() != null) {
asDeps.put(targetAndConfig.getConfiguration(),
Dependency.withTransitionAndAspects(
targetAndConfig.getLabel(),
- Attribute.ConfigurationTransition.NONE,
+ ruleclassTransition == null
+ ? Attribute.ConfigurationTransition.NONE
+ : ruleclassTransition,
// TODO(bazel-team): support top-level aspects
AspectCollection.EMPTY));
}