Automated rollback of commit 691608f5001995deba6ae8bf4d4743efc9c2fc69.

*** Reason for rollback ***

Rollback back because we're not positive we want to support --define (1/4)

*** Original change description ***

Make --define of type list of tuple pairs in starlark instead of a map.

PiperOrigin-RevId: 244220768
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
index 8b9a60e..3d9729c 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
@@ -51,8 +51,7 @@
 import com.google.devtools.build.lib.skylarkbuildapi.BuildConfigurationApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkInterfaceUtils;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
-import com.google.devtools.build.lib.syntax.SkylarkList;
-import com.google.devtools.build.lib.syntax.SkylarkList.Tuple;
+import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.util.OS;
 import com.google.devtools.build.lib.util.RegexFilter;
 import com.google.devtools.build.lib.vfs.Path;
@@ -81,7 +80,6 @@
 import java.util.Set;
 import java.util.TreeMap;
 import java.util.function.Supplier;
-import java.util.stream.Collectors;
 import javax.annotation.Nullable;
 
 /**
@@ -333,11 +331,9 @@
     public static class StarlarkAssignmentConverter extends Converters.AssignmentConverter
         implements StarlarkConverter<List<Map.Entry<String, String>>, Map.Entry<String, String>> {
       @Override
-      public SkylarkList<Tuple<String>> convertToStarlark(List<Map.Entry<String, String>> entries) {
-        return SkylarkList.createImmutable(
-            entries.stream()
-                .map(e -> Tuple.of(e.getKey(), e.getValue()))
-                .collect(Collectors.toList()));
+      public SkylarkDict<String, String> convertToStarlark(
+          List<Map.Entry<String, String>> entries) {
+        return SkylarkDict.copyOf(null, ImmutableMap.copyOf(entries));
       }
     }
 
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/StarlarkRuleTransitionProviderTest.java b/src/test/java/com/google/devtools/build/lib/analysis/StarlarkRuleTransitionProviderTest.java
index fb6e1e7..03ef28f 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/StarlarkRuleTransitionProviderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/StarlarkRuleTransitionProviderTest.java
@@ -970,14 +970,14 @@
     scratch.file(
         "test/transitions.bzl",
         "def _impl(settings, attr):",
-        "  april_value = None",
-        "  for value in settings['//command_line_option:allow_multiple']:",
-        "    if value[0] == 'APRIL':",
-        "      april_value = value[1]",
-        "  if april_value == 'FOOLS':",
-        "    return {'//command_line_option:foo': 'post-transition'}",
+        "  if settings['//command_line_option:allow_multiple']['APRIL'] == 'FOOLS':",
+        "    return {",
+        "      '//command_line_option:foo': 'post-transition'",
+        "    }",
         "  else:",
-        "    return {'//command_line_option:foo': ''}",
+        "    return {",
+        "      '//command_line_option:foo': ''",
+        "    }",
         "my_transition = transition(",
         "  implementation = _impl,",
         "  inputs = ['//command_line_option:allow_multiple'],",
@@ -1010,17 +1010,13 @@
     scratch.file(
         "test/transitions.bzl",
         "def _impl(settings, attr):",
-        "  april_value = None",
-        "  may_value = None",
-        "  for value in settings['//command_line_option:define']:",
-        "    if value[0] == 'APRIL':",
-        "      april_value = value[1]",
-        "    if value[0] == 'MAY':",
-        "      may_value = value[1]",
-        "  if april_value == 'SHOWERS' and may_value == 'FLOWERS':",
+        "  if settings['//command_line_option:define']['APRIL'] == 'SHOWERS' and "
+            + "settings['//command_line_option:define']['MAY'] == 'FLOWERS':",
         "    return {'//command_line_option:foo': 'post-transition'}",
         "  else:",
-        "    return {'//command_line_option:foo': ''}",
+        "    return {",
+        "      '//command_line_option:foo': ''",
+        "    }",
         "my_transition = transition(",
         "  implementation = _impl,",
         "  inputs = ['//command_line_option:define'],",