diff options
author | 2017-02-21 23:47:43 +0000 | |
---|---|---|
committer | 2017-02-22 08:28:40 +0000 | |
commit | 2fe062bf34657e1794dd83d09edbf6b2f6b4979f (patch) | |
tree | 58e54ed1a9ad7e10063ed7ef56afbdf67a2f64cc /src/main | |
parent | 836d94a553141a7505aa86ba10a8bf957ab07545 (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.java | 13 |
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)); } |