Skip to content

Commit

Permalink
fix forward for bazelbuild@ceddfb1. Make sure the use the appropriate…
Browse files Browse the repository at this point in the history
… check for alias + feature flag so trimming does not get applied

PiperOrigin-RevId: 563185304
Change-Id: I6f1d3f0fb1a5c85c980faa196832f094ac4c9666
  • Loading branch information
Googler authored and copybara-github committed Sep 6, 2023
1 parent ffa81f1 commit 4fb701a
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -466,9 +466,7 @@ public StateMachine computeTransition(Tasks tasks) {
transition = transitionFactory.create(transitionData);
}

boolean isAlias = target.getAssociatedRule().getName().equals("alias");

if (trimmingTransitionFactory != null && !isAlias) {
if (trimmingTransitionFactory != null) {
var trimmingTransition = trimmingTransitionFactory.create(transitionData);
if (transition != null) {
transition = ComposingTransition.of(transition, trimmingTransition);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,12 @@
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSortedSet;
import com.google.common.collect.Ordering;
import com.google.devtools.build.lib.analysis.AliasProvider;
import com.google.devtools.build.lib.analysis.config.BuildOptions;
import com.google.devtools.build.lib.analysis.config.BuildOptionsView;
import com.google.devtools.build.lib.analysis.config.CoreOptions;
import com.google.devtools.build.lib.analysis.config.FragmentOptions;
import com.google.devtools.build.lib.analysis.config.transitions.NoTransition;
import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition;
import com.google.devtools.build.lib.analysis.config.transitions.TransitionFactory;
import com.google.devtools.build.lib.cmdline.Label;
Expand Down Expand Up @@ -94,6 +96,12 @@ public ConfigFeatureFlagTaggedTrimmingTransitionFactory(String attributeName) {
public PatchTransition create(RuleTransitionData ruleData) {
NonconfiguredAttributeMapper attrs = NonconfiguredAttributeMapper.of(ruleData.rule());
RuleClass ruleClass = ruleData.rule().getRuleClassObject();

if (AliasProvider.mayBeAlias(ruleData.rule())) {
// As a convenience, do not require transitive_config to be set for alias rule.
return NoTransition.INSTANCE;
}

if (ruleClass.getName().equals(ConfigRuleClasses.ConfigFeatureFlagRule.RULE_NAME)) {
return new ConfigFeatureFlagTaggedTrimmingTransition(
ImmutableSortedSet.of(ruleData.rule().getLabel()));
Expand Down

0 comments on commit 4fb701a

Please sign in to comment.