aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar gregce <gregce@google.com>2018-01-30 11:04:53 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-30 11:06:58 -0800
commitbe55e1181fd49ef78c24255f66f8d26882730af1 (patch)
tree606dadfa48c2f3b0065da45d20c382f8ddc1f590 /src/main/java/com/google/devtools
parent34c9b65a873dd9b79bafe3202571e6de81af1b50 (diff)
Rename Transition to ConfigurationTransition.
PiperOrigin-RevId: 183859414
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/BuildView.java7
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/Dependency.java16
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java16
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/ComposingRuleTransitionFactory.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/FragmentCollection.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/TransitionResolver.java33
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingSplitTransition.java11
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ConfigurationTransition.java (renamed from src/main/java/com/google/devtools/build/lib/analysis/config/transitions/Transition.java)2
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/transitions/PatchTransition.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/transitions/SplitTransition.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java12
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/Attribute.java12
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicy.java26
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/RuleClass.java24
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/RuleTransitionFactory.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/SkylarkDefinedAspect.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java6
20 files changed, 110 insertions, 99 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 0b27d13785..a3835d836a 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
@@ -45,8 +45,8 @@ import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider;
import com.google.devtools.build.lib.analysis.config.ConfigurationResolver;
import com.google.devtools.build.lib.analysis.config.FragmentClassSet;
import com.google.devtools.build.lib.analysis.config.InvalidConfigurationException;
+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.analysis.constraints.TopLevelConstraintSemantics;
import com.google.devtools.build.lib.analysis.test.CoverageReportActionFactory;
import com.google.devtools.build.lib.analysis.test.CoverageReportActionFactory.CoverageReportActionsWrapper;
@@ -1092,7 +1092,8 @@ public class BuildView {
return result;
}
- private Transition getTopLevelTransitionForTarget(Label label, ExtendedEventHandler handler) {
+ private ConfigurationTransition getTopLevelTransitionForTarget(Label label,
+ ExtendedEventHandler handler) {
Rule rule;
try {
rule = skyframeExecutor
@@ -1114,7 +1115,7 @@ public class BuildView {
if (factory == null) {
return NoTransition.INSTANCE;
}
- Transition transition = factory.buildTransitionFor(rule);
+ ConfigurationTransition transition = factory.buildTransitionFor(rule);
return (transition == null) ? NoTransition.INSTANCE : transition;
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/Dependency.java b/src/main/java/com/google/devtools/build/lib/analysis/Dependency.java
index 318d4f5c4a..5ed5883ccc 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/Dependency.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/Dependency.java
@@ -16,7 +16,7 @@ package com.google.devtools.build.lib.analysis;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
-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.packages.AspectDescriptor;
import java.util.Map;
@@ -103,7 +103,7 @@ public abstract class Dependency {
* Creates a new {@link Dependency} with the given transition and aspects.
*/
public static Dependency withTransitionAndAspects(
- Label label, Transition transition, AspectCollection aspects) {
+ Label label, ConfigurationTransition transition, AspectCollection aspects) {
return new ConfigurationTransitionDependency(label, transition, aspects);
}
@@ -141,7 +141,7 @@ public abstract class Dependency {
*
* @throws IllegalStateException if {@link #hasExplicitConfiguration} returns true.
*/
- public abstract Transition getTransition();
+ public abstract ConfigurationTransition getTransition();
/**
* Returns the set of aspects which should be evaluated and combined with the configured target
@@ -179,7 +179,7 @@ public abstract class Dependency {
}
@Override
- public Transition getTransition() {
+ public ConfigurationTransition getTransition() {
throw new IllegalStateException(
"This dependency has an explicit configuration, not a transition.");
}
@@ -243,7 +243,7 @@ public abstract class Dependency {
}
@Override
- public Transition getTransition() {
+ public ConfigurationTransition getTransition() {
throw new IllegalStateException(
"This dependency has an explicit configuration, not a transition.");
}
@@ -287,11 +287,11 @@ public abstract class Dependency {
* Implementation of a dependency with a given configuration transition.
*/
private static final class ConfigurationTransitionDependency extends Dependency {
- private final Transition transition;
+ private final ConfigurationTransition transition;
private final AspectCollection aspects;
public ConfigurationTransitionDependency(
- Label label, Transition transition, AspectCollection aspects) {
+ Label label, ConfigurationTransition transition, AspectCollection aspects) {
super(label);
this.transition = Preconditions.checkNotNull(transition);
this.aspects = Preconditions.checkNotNull(aspects);
@@ -309,7 +309,7 @@ public abstract class Dependency {
}
@Override
- public Transition getTransition() {
+ public ConfigurationTransition getTransition() {
return transition;
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
index 9290168593..4b44be7b6d 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
@@ -26,10 +26,10 @@ import com.google.devtools.build.lib.analysis.config.FragmentClassSet;
import com.google.devtools.build.lib.analysis.config.HostTransition;
import com.google.devtools.build.lib.analysis.config.InvalidConfigurationException;
import com.google.devtools.build.lib.analysis.config.TransitionResolver;
+import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition;
import com.google.devtools.build.lib.analysis.config.transitions.NullTransition;
import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition;
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.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.events.Location;
@@ -718,7 +718,7 @@ public abstract class DependencyResolver {
if (toTarget == null) {
return; // Skip this round: we still need to Skyframe-evaluate the dep's target.
}
- Transition transition = TransitionResolver.evaluateTransition(
+ ConfigurationTransition transition = TransitionResolver.evaluateTransition(
ruleConfig, rule, attributeAndOwner.attribute, toTarget, attributeMap);
outgoingEdges.put(
attributeAndOwner.attribute,
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index 1fac30b5f0..ff93d764fd 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -47,10 +47,10 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration.Fragment
import com.google.devtools.build.lib.analysis.config.BuildOptions;
import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider;
import com.google.devtools.build.lib.analysis.config.FragmentCollection;
+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.PatchTransition;
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.analysis.configuredtargets.RuleConfiguredTarget.Mode;
import com.google.devtools.build.lib.analysis.fileset.FilesetProvider;
import com.google.devtools.build.lib.analysis.platform.PlatformInfo;
@@ -399,13 +399,13 @@ public final class RuleContext extends TargetContext
* Returns a configuration fragment for this this target.
*/
@Nullable
- public <T extends Fragment> T getFragment(Class<T> fragment, Transition transition) {
+ public <T extends Fragment> T getFragment(Class<T> fragment, ConfigurationTransition transition) {
return getFragment(fragment, fragment.getSimpleName(), "", transition);
}
@Nullable
protected <T extends Fragment> T getFragment(Class<T> fragment, String name,
- String additionalErrorMessage, Transition transition) {
+ String additionalErrorMessage, ConfigurationTransition transition) {
// TODO(bazel-team): The fragments can also be accessed directly through BuildConfiguration.
// Can we lock that down somehow?
Preconditions.checkArgument(isLegalFragment(fragment, transition),
@@ -423,7 +423,7 @@ public final class RuleContext extends TargetContext
}
@Nullable
- public Fragment getSkylarkFragment(String name, Transition transition) {
+ public Fragment getSkylarkFragment(String name, ConfigurationTransition transition) {
Class<? extends Fragment> fragmentClass =
getConfiguration(transition).getSkylarkFragmentByName(name);
if (fragmentClass == null) {
@@ -437,12 +437,12 @@ public final class RuleContext extends TargetContext
transition);
}
- public ImmutableCollection<String> getSkylarkFragmentNames(Transition transition) {
+ public ImmutableCollection<String> getSkylarkFragmentNames(ConfigurationTransition transition) {
return getConfiguration(transition).getSkylarkFragmentNames();
}
public <T extends Fragment> boolean isLegalFragment(
- Class<T> fragment, Transition transition) {
+ Class<T> fragment, ConfigurationTransition transition) {
return fragment == universalFragment
|| fragment == PlatformConfiguration.class
|| configurationFragmentPolicy.isLegalConfigurationFragment(fragment, transition);
@@ -453,7 +453,7 @@ public final class RuleContext extends TargetContext
return isLegalFragment(fragment, NoTransition.INSTANCE);
}
- protected BuildConfiguration getConfiguration(Transition transition) {
+ protected BuildConfiguration getConfiguration(ConfigurationTransition transition) {
return transition.isHostTransition() ? hostConfiguration : getConfiguration();
}
@@ -1066,7 +1066,7 @@ public final class RuleContext extends TargetContext
throw new IllegalStateException(getRuleClassNameForLogging() + " attribute " + attributeName
+ " is not a label type attribute");
}
- Transition transition = attributeDefinition.getConfigurationTransition();
+ ConfigurationTransition transition = attributeDefinition.getConfigurationTransition();
if (mode == Mode.HOST) {
if (!(transition instanceof PatchTransition)) {
throw new IllegalStateException(getRule().getLocation() + ": "
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingRuleTransitionFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingRuleTransitionFactory.java
index f5f489f655..8f6d2b5e66 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingRuleTransitionFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingRuleTransitionFactory.java
@@ -16,8 +16,8 @@
package com.google.devtools.build.lib.analysis.config;
import com.google.devtools.build.lib.analysis.config.transitions.ComposingPatchTransition;
+import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition;
import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition;
-import com.google.devtools.build.lib.analysis.config.transitions.Transition;
import com.google.devtools.build.lib.packages.Rule;
import com.google.devtools.build.lib.packages.RuleTransitionFactory;
@@ -39,7 +39,7 @@ public class ComposingRuleTransitionFactory implements RuleTransitionFactory {
}
@Override
- public Transition buildTransitionFor(Rule rule) {
+ public ConfigurationTransition buildTransitionFor(Rule rule) {
PatchTransition transition1 = (PatchTransition) rtf1.buildTransitionFor(rule);
PatchTransition transition2 = (PatchTransition) rtf2.buildTransitionFor(rule);
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java b/src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java
index 57cf02b1f1..fd0a933c91 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java
@@ -26,10 +26,10 @@ import com.google.common.collect.Multimap;
import com.google.common.collect.Sets;
import com.google.devtools.build.lib.analysis.Dependency;
import com.google.devtools.build.lib.analysis.TargetAndConfiguration;
+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.PatchTransition;
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.cmdline.Label;
import com.google.devtools.build.lib.concurrent.ThreadSafety;
import com.google.devtools.build.lib.events.Event;
@@ -182,7 +182,7 @@ public final class ConfigurationResolver {
}
boolean sameFragments = depFragments.equals(ctgFragments.fragmentClasses());
- Transition transition = dep.getTransition();
+ ConfigurationTransition transition = dep.getTransition();
if (sameFragments) {
if (transition == NoTransition.INSTANCE) {
@@ -299,11 +299,11 @@ public final class ConfigurationResolver {
// Treat this as immutable. The only reason this isn't an ImmutableSet is because it
// gets bound to a NestedSet.toSet() reference, which returns a Set interface.
final Set<Class<? extends BuildConfiguration.Fragment>> fragments;
- final Transition transition;
+ final ConfigurationTransition transition;
private final int hashCode;
FragmentsAndTransition(Set<Class<? extends BuildConfiguration.Fragment>> fragments,
- Transition transition) {
+ ConfigurationTransition transition) {
this.fragments = fragments;
this.transition = transition;
hashCode = Objects.hash(this.fragments, this.transition);
@@ -415,7 +415,7 @@ public final class ConfigurationResolver {
*/
@VisibleForTesting
public static List<BuildOptions> applyTransition(BuildOptions fromOptions,
- Transition transition,
+ ConfigurationTransition transition,
Iterable<Class<? extends BuildConfiguration.Fragment>> requiredFragments,
RuleClassProvider ruleClassProvider, boolean trimResults) {
List<BuildOptions> result;
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentCollection.java b/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentCollection.java
index d11e3bd5be..bd053f4fb5 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentCollection.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentCollection.java
@@ -16,7 +16,7 @@ package com.google.devtools.build.lib.analysis.config;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableCollection;
import com.google.devtools.build.lib.analysis.RuleContext;
-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.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
@@ -39,9 +39,9 @@ import javax.annotation.Nullable;
+ "(see <a href=\"../rules.md#fragments\">here</a>).")
public class FragmentCollection implements ClassObject {
private final RuleContext ruleContext;
- private final Transition transition;
+ private final ConfigurationTransition transition;
- public FragmentCollection(RuleContext ruleContext, Transition transition) {
+ public FragmentCollection(RuleContext ruleContext, ConfigurationTransition transition) {
this.ruleContext = ruleContext;
this.transition = transition;
}
@@ -70,7 +70,7 @@ public class FragmentCollection implements ClassObject {
return String.format("'%s'", Joiner.on("', '").join(getFieldNames()));
}
- public static String getConfigurationName(Transition config) {
+ public static String getConfigurationName(ConfigurationTransition config) {
return config.isHostTransition() ? "host" : "target";
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/TransitionResolver.java b/src/main/java/com/google/devtools/build/lib/analysis/config/TransitionResolver.java
index 6287e74b57..b78fcebc91 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/TransitionResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/TransitionResolver.java
@@ -18,11 +18,11 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import com.google.devtools.build.lib.analysis.TargetAndConfiguration;
import com.google.devtools.build.lib.analysis.config.transitions.ComposingSplitTransition;
+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.NullTransition;
import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition;
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.packages.Attribute;
import com.google.devtools.build.lib.packages.ConfiguredAttributeMapper;
import com.google.devtools.build.lib.packages.InputFile;
@@ -32,7 +32,7 @@ import com.google.devtools.build.lib.packages.RuleTransitionFactory;
import com.google.devtools.build.lib.packages.Target;
/**
- * Tool for evaluating which {@link Transition}(s) should be applied to given targets.
+ * Tool for evaluating which {@link ConfigurationTransition}(s) should be applied to given targets.
*
* <p>For the work of turning these transitions into actual configurations, see {@link
* ConfigurationResolver}.
@@ -55,8 +55,12 @@ public final class TransitionResolver {
* @return the child's configuration, expressed as a diff from the parent's configuration. This
* is either a {@link PatchTransition} or {@link SplitTransition}.
*/
- public static Transition evaluateTransition(BuildConfiguration fromConfig, final Rule fromRule,
- final Attribute attribute, final Target toTarget, ConfiguredAttributeMapper attributeMap) {
+ public static ConfigurationTransition evaluateTransition(
+ BuildConfiguration fromConfig,
+ final Rule fromRule,
+ final Attribute attribute,
+ final Target toTarget,
+ ConfiguredAttributeMapper attributeMap) {
// I. Input files and package groups have no configurations. We don't want to duplicate them.
if (usesNullConfiguration(toTarget)) {
@@ -89,13 +93,14 @@ public final class TransitionResolver {
// The current transition to apply. When multiple transitions are requested, this is a
// ComposingSplitTransition, which encapsulates them into a single object so calling code
// doesn't need special logic for combinations.
- Transition currentTransition = NoTransition.INSTANCE;
+ ConfigurationTransition currentTransition = NoTransition.INSTANCE;
// Apply the parent rule's outgoing transition if it has one.
RuleTransitionFactory transitionFactory =
fromRule.getRuleClassObject().getOutgoingTransitionFactory();
if (transitionFactory != null) {
- Transition transition = transitionFactory.buildTransitionFor(toTarget.getAssociatedRule());
+ ConfigurationTransition transition =
+ transitionFactory.buildTransitionFor(toTarget.getAssociatedRule());
if (transition != null) {
currentTransition = composeTransitions(currentTransition, transition);
}
@@ -121,12 +126,13 @@ public final class TransitionResolver {
* Same as evaluateTransition except does not check for transitions coming from parents and
* enables support for rule-triggered top-level configuration hooks.
*/
- public static Transition evaluateTopLevelTransition(TargetAndConfiguration targetAndConfig) {
+ public static ConfigurationTransition evaluateTopLevelTransition(
+ TargetAndConfiguration targetAndConfig) {
Target target = targetAndConfig.getTarget();
BuildConfiguration fromConfig = targetAndConfig.getConfiguration();
// Top-level transitions (chosen by configuration fragments):
- Transition topLevelTransition = fromConfig.topLevelConfigurationHook(target);
+ ConfigurationTransition topLevelTransition = fromConfig.topLevelConfigurationHook(target);
if (topLevelTransition == null) {
topLevelTransition = NoTransition.INSTANCE;
}
@@ -150,7 +156,8 @@ public final class TransitionResolver {
* Composes two transitions together efficiently.
*/
@VisibleForTesting
- public static Transition composeTransitions(Transition transition1, Transition transition2) {
+ public static ConfigurationTransition composeTransitions(ConfigurationTransition transition1,
+ ConfigurationTransition transition2) {
if (isFinal(transition1) || transition2 == NoTransition.INSTANCE) {
return transition1;
} else if (isFinal(transition2) || transition1 == NoTransition.INSTANCE) {
@@ -168,7 +175,7 @@ public final class TransitionResolver {
* Returns true if once the given transition is applied to a dep no followup transitions should
* be composed after it.
*/
- private static boolean isFinal(Transition transition) {
+ private static boolean isFinal(ConfigurationTransition transition) {
return (transition == NullTransition.INSTANCE
|| transition == HostTransition.INSTANCE);
}
@@ -176,7 +183,8 @@ public final class TransitionResolver {
/**
* Applies the given split and composes it after an existing transition.
*/
- private static Transition split(Transition currentTransition, SplitTransition split) {
+ private static ConfigurationTransition split(ConfigurationTransition currentTransition,
+ SplitTransition split) {
Preconditions.checkState(currentTransition != NullTransition.INSTANCE,
"cannot apply splits after null transitions (null transitions are expected to be final)");
Preconditions.checkState(currentTransition != HostTransition.INSTANCE,
@@ -190,7 +198,8 @@ public final class TransitionResolver {
* @param currentTransition a pre-existing transition to be composed with
* @param toTarget rule to examine for transitions
*/
- private static Transition applyRuleTransition(Transition currentTransition, Target toTarget) {
+ private static ConfigurationTransition applyRuleTransition(
+ ConfigurationTransition currentTransition, Target toTarget) {
if (isFinal(currentTransition)) {
return currentTransition;
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingSplitTransition.java b/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingSplitTransition.java
index d36968c21b..1bcbebca68 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingSplitTransition.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingSplitTransition.java
@@ -34,14 +34,15 @@ import java.util.List;
* captures all possible combinations.
*/
public class ComposingSplitTransition implements SplitTransition {
- private Transition transition1;
- private Transition transition2;
+ private ConfigurationTransition transition1;
+ private ConfigurationTransition transition2;
/**
* Creates a {@link ComposingSplitTransition} that applies the sequence:
* {@code fromOptions -> transition1 -> transition2 -> toOptions }.
*/
- public ComposingSplitTransition(Transition transition1, Transition transition2) {
+ public ComposingSplitTransition(ConfigurationTransition transition1,
+ ConfigurationTransition transition2) {
this.transition1 = verifySupported(transition1);
this.transition2 = verifySupported(transition2);
}
@@ -59,7 +60,7 @@ public class ComposingSplitTransition implements SplitTransition {
* Verifies support for the given transition type. Throws an {@link IllegalArgumentException} if
* unsupported.
*/
- private Transition verifySupported(Transition transition) {
+ private ConfigurationTransition verifySupported(ConfigurationTransition transition) {
Preconditions.checkArgument(transition instanceof PatchTransition
|| transition instanceof SplitTransition);
return transition;
@@ -69,7 +70,7 @@ public class ComposingSplitTransition implements SplitTransition {
* Applies the given transition over the given {@link BuildOptions}, returns the result.
*/
// TODO(gregce): move this somewhere more general. This isn't intrinsic to composed splits.
- static List<BuildOptions> apply(BuildOptions fromOptions, Transition transition) {
+ static List<BuildOptions> apply(BuildOptions fromOptions, ConfigurationTransition transition) {
if (transition instanceof PatchTransition) {
return ImmutableList.<BuildOptions>of(((PatchTransition) transition).apply(fromOptions));
} else if (transition instanceof SplitTransition) {
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/Transition.java b/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ConfigurationTransition.java
index cf647fd0da..7fb3a66f36 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/Transition.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ConfigurationTransition.java
@@ -17,7 +17,7 @@ package com.google.devtools.build.lib.analysis.config.transitions;
/**
* A configuration transition.
*/
-public interface Transition {
+public interface ConfigurationTransition {
/**
* Does this transition switch to a "host" configuration?
*/
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/PatchTransition.java b/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/PatchTransition.java
index 3fd096e89d..451148ee60 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/PatchTransition.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/PatchTransition.java
@@ -48,7 +48,7 @@ import com.google.devtools.build.lib.analysis.config.BuildOptions;
* {@link com.google.devtools.build.lib.analysis.config.BuildOptions} doesn't currently
* enforce immutability. So care must be taken not to modify the wrong instance.
*/
-public interface PatchTransition extends Transition {
+public interface PatchTransition extends ConfigurationTransition {
/**
* Applies the transition.
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/SplitTransition.java b/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/SplitTransition.java
index dd1cea17ee..05ecfaa226 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/SplitTransition.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/SplitTransition.java
@@ -25,7 +25,7 @@ import java.util.List;
*/
@ThreadSafety.Immutable
@FunctionalInterface
-public interface SplitTransition extends Transition {
+public interface SplitTransition extends ConfigurationTransition {
/**
* Return the list of {@code BuildOptions} after splitting; empty if not applicable.
*/
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 da5dcc5fe9..3036a68d9b 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.ImmutableSet;
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 @@ public final class AspectDefinition {
*
* <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 @@ public final class AspectDefinition {
* 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 22d39ee88f..d6b1cebef1 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.Iterables;
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 final class Attribute implements Comparable<Attribute> {
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 @@ public final class Attribute implements Comparable<Attribute> {
* 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 @@ public final class Attribute implements Comparable<Attribute> {
// (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 @@ public final class Attribute implements Comparable<Attribute> {
Type<?> type,
Set<PropertyFlag> propertyFlags,
Object defaultValue,
- Transition configTransition,
+ ConfigurationTransition configTransition,
SplitTransitionProvider splitTransitionProvider,
RuleClassNamePredicate allowedRuleClassesForLabels,
RuleClassNamePredicate allowedRuleClassesForLabelsWarning,
@@ -1915,7 +1915,7 @@ public final class Attribute implements Comparable<Attribute> {
* 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 83d5aa39f3..0dabcab865 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.ImmutableSet;
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 @@ public final class ConfigurationFragmentPolicy {
* 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 @@ public final class ConfigurationFragmentPolicy {
*
* <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 @@ public final class ConfigurationFragmentPolicy {
* 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 @@ public final class ConfigurationFragmentPolicy {
* 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 @@ public final class ConfigurationFragmentPolicy {
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 @@ public final class ConfigurationFragmentPolicy {
* 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 @@ public final class ConfigurationFragmentPolicy {
* 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 a12c08f9c2..2d0cd749d1 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.ImmutableSet;
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 @@ public class RuleClass {
* 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 @@ public class RuleClass {
*
* <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 @@ public class RuleClass {
* 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 @@ public class RuleClass {
*
* <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 @@ public class RuleClass {
* <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 @@ public class RuleClass {
/**
* 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 94613ab5dc..7875a34dd0 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 @@ public interface RuleTransitionFactory {
* 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 3391ccc9f4..35d38c6510 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.Function;
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 @@ public class SkylarkDefinedAspect implements SkylarkExportable, SkylarkAspect {
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 @@ public class SkylarkDefinedAspect implements SkylarkExportable, SkylarkAspect {
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) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
index 937dee2664..81cc6d308a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
@@ -37,8 +37,8 @@ import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.analysis.config.BuildOptions;
import com.google.devtools.build.lib.analysis.config.HostTransition;
+import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition;
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.cmdline.Label;
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.packages.Attribute;
@@ -300,7 +300,7 @@ public final class AndroidRuleClasses {
ImmutableSet.of("android_binary", "android_library");
@Override
- public Transition buildTransitionFor(Rule depRule) {
+ public ConfigurationTransition buildTransitionFor(Rule depRule) {
return keepFilterRuleClasses.contains(depRule.getRuleClass())
? null
: ResourceFilterFactory.REMOVE_DYNAMICALLY_CONFIGURED_RESOURCE_FILTERING_TRANSITION;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index 7c123ff3a0..7ae5ac59e7 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -74,9 +74,9 @@ import com.google.devtools.build.lib.analysis.config.ConfigurationResolver;
import com.google.devtools.build.lib.analysis.config.FragmentClassSet;
import com.google.devtools.build.lib.analysis.config.HostTransition;
import com.google.devtools.build.lib.analysis.config.InvalidConfigurationException;
+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.PatchTransition;
-import com.google.devtools.build.lib.analysis.config.transitions.Transition;
import com.google.devtools.build.lib.analysis.configuredtargets.MergedConfiguredTarget;
import com.google.devtools.build.lib.analysis.configuredtargets.MergedConfiguredTarget.DuplicateException;
import com.google.devtools.build.lib.cmdline.Label;
@@ -1132,7 +1132,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
// The host configuration inherits the data, not target options. This is so host tools don't
// apply LIPO.
BuildConfiguration firstTargetConfig = topLevelTargetConfigs.get(0);
- Transition dataTransition =
+ ConfigurationTransition dataTransition =
((ConfiguredRuleClassProvider) ruleClassProvider).getLipoDataTransition();
BuildOptions dataOptions = dataTransition != NoTransition.INSTANCE
? ((PatchTransition) dataTransition).apply(firstTargetConfig.getOptions())
@@ -1649,7 +1649,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
ExtendedEventHandler eventHandler,
Label label,
BuildConfiguration configuration,
- Transition transition) {
+ ConfigurationTransition transition) {
ConfiguredTargetAndTarget configuredTargetAndTarget =
Iterables.getFirst(
getConfiguredTargetsForTesting(