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(),