Support None values in transition functions
Translate it to setting the option value to null.
@@ -31,6 +31,7 @@ import com.google.devtools.build.lib.syntax.BaseFunction;
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 @@ public class FunctionSplitTransitionProvider implements SplitTransitionProvider
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(),
