Rename Transition to ConfigurationTransition.
PiperOrigin-RevId: 183859414
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
index da5dcc5f..3036a68 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
@@ -22,7 +22,7 @@
import com.google.common.collect.LinkedHashMultimap;
import com.google.common.collect.Multimap;
import com.google.common.collect.SetMultimap;
-import com.google.devtools.build.lib.analysis.config.transitions.Transition;
+import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.packages.ConfigurationFragmentPolicy.MissingFragmentPolicy;
@@ -428,7 +428,7 @@
*
* <p>The value is inherited by subclasses.
*/
- public Builder requiresConfigurationFragments(Transition transition,
+ public Builder requiresConfigurationFragments(ConfigurationTransition transition,
Class<?>... configurationFragments) {
configurationFragmentPolicy.requiresConfigurationFragments(transition,
ImmutableSet.copyOf(configurationFragments));
@@ -454,15 +454,15 @@
* fragments to be present in the given configuration that isn't the aspect's configuration but
* is also readable by the aspect.
*
- * <p>In contrast to {@link #requiresConfigurationFragments(Transition, Class...)}, this method
- * takes the Skylark module names of fragments instead of their classes.
+ * <p>In contrast to {@link #requiresConfigurationFragments(ConfigurationTransition, Class...)},
+ * this method takes the Skylark module names of fragments instead of their classes.
*
* <p>You probably don't want to use this, because aspects generally shouldn't read
* configurations other than their own. If you want to declare host config fragments, see
* {@link com.google.devtools.build.lib.analysis.config.ConfigAwareAspectBuilder}.
*/
- public Builder requiresConfigurationFragmentsBySkylarkModuleName(Transition transition,
- Collection<String> configurationFragmentNames) {
+ public Builder requiresConfigurationFragmentsBySkylarkModuleName(
+ ConfigurationTransition transition, Collection<String> configurationFragmentNames) {
configurationFragmentPolicy.requiresConfigurationFragmentsBySkylarkModuleName(transition,
configurationFragmentNames);
return this;
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
index 22d39ee..d6b1ceb 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
@@ -29,9 +29,9 @@
import com.google.common.collect.Ordering;
import com.google.common.collect.Sets;
import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
+import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition;
import com.google.devtools.build.lib.analysis.config.transitions.NoTransition;
import com.google.devtools.build.lib.analysis.config.transitions.SplitTransition;
-import com.google.devtools.build.lib.analysis.config.transitions.Transition;
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassNamePredicate;
@@ -359,7 +359,7 @@
public static class Builder <TYPE> {
private final String name;
private final Type<TYPE> type;
- private Transition configTransition = NoTransition.INSTANCE;
+ private ConfigurationTransition configTransition = NoTransition.INSTANCE;
private RuleClassNamePredicate allowedRuleClassesForLabels = ANY_RULE;
private RuleClassNamePredicate allowedRuleClassesForLabelsWarning = NO_RULE;
private SplitTransitionProvider splitTransitionProvider;
@@ -498,7 +498,7 @@
* Defines the configuration transition for this attribute. Defaults to
* {@code NONE}.
*/
- public Builder<TYPE> cfg(Transition configTransition) {
+ public Builder<TYPE> cfg(ConfigurationTransition configTransition) {
Preconditions.checkState(this.configTransition == NoTransition.INSTANCE,
"the configuration transition is already set");
if (configTransition instanceof SplitTransition) {
@@ -1734,7 +1734,7 @@
// (We assume a hypothetical Type.isValid(Object) predicate.)
private final Object defaultValue;
- private final Transition configTransition;
+ private final ConfigurationTransition configTransition;
private final SplitTransitionProvider splitTransitionProvider;
@@ -1789,7 +1789,7 @@
Type<?> type,
Set<PropertyFlag> propertyFlags,
Object defaultValue,
- Transition configTransition,
+ ConfigurationTransition configTransition,
SplitTransitionProvider splitTransitionProvider,
RuleClassNamePredicate allowedRuleClassesForLabels,
RuleClassNamePredicate allowedRuleClassesForLabelsWarning,
@@ -1915,7 +1915,7 @@
* Returns the configuration transition for this attribute for label or label
* list attributes. For other attributes it will always return {@code NONE}.
*/
- public Transition getConfigurationTransition() {
+ public ConfigurationTransition getConfigurationTransition() {
return configTransition;
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicy.java b/src/main/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicy.java
index 83d5aa3..0dabcab 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicy.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicy.java
@@ -18,8 +18,8 @@
import com.google.common.collect.ImmutableSetMultimap;
import com.google.common.collect.LinkedHashMultimap;
import com.google.common.collect.SetMultimap;
+import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition;
import com.google.devtools.build.lib.analysis.config.transitions.NoTransition;
-import com.google.devtools.build.lib.analysis.config.transitions.Transition;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import java.util.Collection;
import java.util.Set;
@@ -65,13 +65,13 @@
* Sets of configuration fragment classes required by this rule, a set for each configuration.
* Duplicate entries will automatically be ignored by the SetMultimap.
*/
- private final SetMultimap<Transition, Class<?>> requiredConfigurationFragments
+ private final SetMultimap<ConfigurationTransition, Class<?>> requiredConfigurationFragments
= LinkedHashMultimap.create();
/**
* Sets of configuration fragment names required by this rule, a set for each configuration.
* Duplicate entries will automatically be ignored by the SetMultimap.
*/
- private final SetMultimap<Transition, String> requiredConfigurationFragmentNames
+ private final SetMultimap<ConfigurationTransition, String> requiredConfigurationFragmentNames
= LinkedHashMultimap.create();
private MissingFragmentPolicy missingFragmentPolicy = MissingFragmentPolicy.FAIL_ANALYSIS;
@@ -93,7 +93,7 @@
*
* <p>The value is inherited by subclasses.
*/
- public Builder requiresConfigurationFragments(Transition transition,
+ public Builder requiresConfigurationFragments(ConfigurationTransition transition,
Collection<Class<?>> configurationFragments) {
// We can relax this assumption if needed. But it's already sketchy to let a rule see more
// than its own configuration. So we don't want to casually proliferate this pattern.
@@ -126,13 +126,13 @@
* configuration. Valid transition values are HOST for the host configuration and NONE for
* the target configuration.
*
- * <p>In contrast to {@link #requiresConfigurationFragments(Transition,
+ * <p>In contrast to {@link #requiresConfigurationFragments(ConfigurationTransition,
* Collection)}, this method takes the names of fragments (as determined by
* {@link SkylarkModule.Resolver}) instead of their
* classes.
*/
- public Builder requiresConfigurationFragmentsBySkylarkModuleName(Transition transition,
- Collection<String> configurationFragmentNames) {
+ public Builder requiresConfigurationFragmentsBySkylarkModuleName(
+ ConfigurationTransition transition, Collection<String> configurationFragmentNames) {
// We can relax this assumption if needed. But it's already sketchy to let a rule see more
// than its own configuration. So we don't want to casually proliferate this pattern.
Preconditions.checkArgument(
@@ -173,14 +173,14 @@
* A dictionary that maps configurations (NONE for target configuration, HOST for host
* configuration) to required configuration fragments.
*/
- private final ImmutableSetMultimap<Transition, Class<?>>
+ private final ImmutableSetMultimap<ConfigurationTransition, Class<?>>
requiredConfigurationFragments;
/**
* A dictionary that maps configurations (NONE for target configuration, HOST for host
* configuration) to lists of Skylark module names of required configuration fragments.
*/
- private final ImmutableSetMultimap<Transition, String>
+ private final ImmutableSetMultimap<ConfigurationTransition, String>
requiredConfigurationFragmentNames;
/**
@@ -189,8 +189,8 @@
private final MissingFragmentPolicy missingFragmentPolicy;
private ConfigurationFragmentPolicy(
- ImmutableSetMultimap<Transition, Class<?>> requiredConfigurationFragments,
- ImmutableSetMultimap<Transition, String> requiredConfigurationFragmentNames,
+ ImmutableSetMultimap<ConfigurationTransition, Class<?>> requiredConfigurationFragments,
+ ImmutableSetMultimap<ConfigurationTransition, String> requiredConfigurationFragmentNames,
MissingFragmentPolicy missingFragmentPolicy) {
this.requiredConfigurationFragments = requiredConfigurationFragments;
this.requiredConfigurationFragmentNames = requiredConfigurationFragmentNames;
@@ -213,7 +213,7 @@
* specified in the same configuration that was passed.
*/
public boolean isLegalConfigurationFragment(
- Class<?> configurationFragment, Transition config) {
+ Class<?> configurationFragment, ConfigurationTransition config) {
return requiredConfigurationFragments.containsValue(configurationFragment)
|| hasLegalFragmentName(configurationFragment, config);
}
@@ -232,7 +232,7 @@
* specified configuration (target or host).
*/
private boolean hasLegalFragmentName(
- Class<?> configurationFragment, Transition transition) {
+ Class<?> configurationFragment, ConfigurationTransition transition) {
return requiredConfigurationFragmentNames
.containsEntry(transition, SkylarkModule.Resolver.resolveName(configurationFragment));
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
index a12c08f..2d0cd74 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
@@ -30,7 +30,7 @@
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Ordering;
-import com.google.devtools.build.lib.analysis.config.transitions.Transition;
+import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
@@ -516,14 +516,14 @@
* A RuleTransitionFactory which always returns the same transition.
*/
private static final class FixedTransitionFactory implements RuleTransitionFactory {
- private final Transition transition;
+ private final ConfigurationTransition transition;
- private FixedTransitionFactory(Transition transition) {
+ private FixedTransitionFactory(ConfigurationTransition transition) {
this.transition = transition;
}
@Override
- public Transition buildTransitionFor(Rule rule) {
+ public ConfigurationTransition buildTransitionFor(Rule rule) {
return transition;
}
}
@@ -716,7 +716,7 @@
*
* <p>The value is inherited by subclasses.
*/
- public Builder requiresConfigurationFragments(Transition transition,
+ public Builder requiresConfigurationFragments(ConfigurationTransition transition,
Class<?>... configurationFragments) {
configurationFragmentPolicy.requiresConfigurationFragments(
transition,
@@ -748,8 +748,8 @@
* fragments to be present in the given configuration that isn't the rule's configuration but
* is also readable by the rule.
*
- * <p>In contrast to {@link #requiresConfigurationFragments(Transition, Class...)}, this method
- * takes Skylark module names of fragments instead of their classes.
+ * <p>In contrast to {@link #requiresConfigurationFragments(ConfigurationTransition, Class...)},
+ * this method takes Skylark module names of fragments instead of their classes.
* *
* <p>You probably don't want to use this, because rules generally shouldn't read configurations
* other than their own. If you want to declare host config fragments, see
@@ -757,8 +757,8 @@
*
* <p>The value is inherited by subclasses.
*/
- public Builder requiresConfigurationFragmentsBySkylarkModuleName(Transition transition,
- Collection<String> configurationFragmentNames) {
+ public Builder requiresConfigurationFragmentsBySkylarkModuleName(
+ ConfigurationTransition transition, Collection<String> configurationFragmentNames) {
configurationFragmentPolicy.requiresConfigurationFragmentsBySkylarkModuleName(transition,
configurationFragmentNames);
return this;
@@ -838,7 +838,7 @@
* <p>If you need the transition to depend on the rule it's being applied to, use
* {@link #cfg(RuleTransitionFactory)}.
*/
- public Builder cfg(Transition transition) {
+ public Builder cfg(ConfigurationTransition transition) {
Preconditions.checkState(type != RuleClassType.ABSTRACT,
"Setting not inherited property (cfg) of abstract rule class '%s'", name);
Preconditions.checkState(this.transitionFactory == null,
@@ -851,8 +851,8 @@
/**
* Applies the given transition factory to all incoming edges for this rule class.
*
- * <p>Unlike{@link #cfg(Transition)}, the factory can examine the rule when deciding what
- * transition to use.
+ * <p>Unlike{@link #cfg(ConfigurationTransition)}, the factory can examine the rule when
+ * deciding what transition to use.
*/
public Builder cfg(RuleTransitionFactory transitionFactory) {
Preconditions.checkState(type != RuleClassType.ABSTRACT,
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleTransitionFactory.java b/src/main/java/com/google/devtools/build/lib/packages/RuleTransitionFactory.java
index 94613ab..7875a34 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleTransitionFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleTransitionFactory.java
@@ -14,7 +14,7 @@
package com.google.devtools.build.lib.packages;
-import com.google.devtools.build.lib.analysis.config.transitions.Transition;
+import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition;
import javax.annotation.Nullable;
/**
@@ -28,5 +28,5 @@
* If this class determines that no transition should be performed, it should return {@code null}.
*/
@Nullable
- Transition buildTransitionFor(Rule rule);
+ ConfigurationTransition buildTransitionFor(Rule rule);
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkDefinedAspect.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkDefinedAspect.java
index 3391ccc..35d38c6 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkDefinedAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkDefinedAspect.java
@@ -18,7 +18,7 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
-import com.google.devtools.build.lib.analysis.config.transitions.Transition;
+import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
@@ -38,7 +38,7 @@
private final ImmutableSet<SkylarkProviderIdentifier> provides;
private final ImmutableSet<String> paramAttributes;
private final ImmutableSet<String> fragments;
- private final Transition hostTransition;
+ private final ConfigurationTransition hostTransition;
private final ImmutableSet<String> hostFragments;
private final ImmutableList<Label> requiredToolchains;
@@ -54,7 +54,7 @@
ImmutableSet<String> paramAttributes,
ImmutableSet<String> fragments,
// The host transition is in lib.analysis, so we can't reference it directly here.
- Transition hostTransition,
+ ConfigurationTransition hostTransition,
ImmutableSet<String> hostFragments,
ImmutableList<Label> requiredToolchains,
Environment funcallEnv) {