Support None values in transition functions Translate it to setting the option value to null. PiperOrigin-RevId: 219399758
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/FunctionSplitTransitionProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/FunctionSplitTransitionProvider.java index 29d3074..f9d4538 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/FunctionSplitTransitionProvider.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/FunctionSplitTransitionProvider.java
@@ -31,6 +31,7 @@ import com.google.devtools.build.lib.syntax.Environment; import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.Mutability; +import com.google.devtools.build.lib.syntax.Runtime.NoneType; import com.google.devtools.build.lib.syntax.SkylarkDict; import com.google.devtools.build.lib.syntax.SkylarkSemantics; import com.google.devtools.common.options.OptionDefinition; @@ -274,6 +275,11 @@ String optionName = commandLineOptionLabelToOption(optionKey); Object optionValue = entry.getValue(); + // Convert NoneType to null. + if (optionValue instanceof NoneType) { + optionValue = null; + } + try { if (!optionInfoMap.containsKey(optionName)) { throw new EvalException(transitionFunction.getLocation(),