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) {