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'],",