Simplify split transition semantics: noops now return the input build options.
This results in less special logic in the implementation and a simpler API.
PiperOrigin-RevId: 197772283
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 adfeb58..fb17814 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
@@ -790,10 +790,11 @@
SplitTransition transition =
attributeDefinition.getSplitTransition(
ConfiguredAttributeMapper.of(rule, configConditions));
- List<BuildOptions> splitOptions = transition.split(getConfiguration().getOptions());
+ BuildOptions fromOptions = getConfiguration().getOptions();
+ List<BuildOptions> splitOptions = transition.checkedSplit(fromOptions);
List<ConfiguredTargetAndData> deps = getConfiguredTargetAndTargetDeps(attributeName);
- if (splitOptions.isEmpty()) {
+ if (SplitTransition.equals(fromOptions, splitOptions)) {
// The split transition is not active. Defer the decision on which CPU to use.
return ImmutableMap.of(Optional.<String>absent(), deps);
}