Skip to content

Commit ba86780

Browse files
committed
Revert "fix main repo starlark options parsing.
Fixes #13890. This reverts commit 80c59de.
1 parent a04cb1b commit ba86780

File tree

2 files changed

+6
-34
lines changed

2 files changed

+6
-34
lines changed

src/main/java/com/google/devtools/build/lib/runtime/StarlarkOptionsParser.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,6 @@ public void parse(ExtendedEventHandler eventHandler) throws OptionsParsingExcept
109109
ImmutableMap.Builder<String, Object> parsedOptions = new ImmutableMap.Builder<>();
110110
for (Map.Entry<String, Pair<String, Target>> option : unparsedOptions.entrySet()) {
111111
String loadedFlag = option.getKey();
112-
// String loadedFlag =
113-
// Label.parseAbsoluteUnchecked(option.getKey()).getDefaultCanonicalForm();
114112
String unparsedValue = option.getValue().first;
115113
Target buildSettingTarget = option.getValue().second;
116114
BuildSetting buildSetting =
@@ -157,11 +155,7 @@ private void parseArg(
157155
if (value != null) {
158156
// --flag=value or -flag=value form
159157
Target buildSettingTarget = loadBuildSetting(name, nativeOptionsParser, eventHandler);
160-
// Use the unambiguous canonical form to ensure we don't have
161-
// duplicate options getting into the starlark options map.
162-
unparsedOptions.put(
163-
buildSettingTarget.getLabel().getDefaultCanonicalForm(),
164-
new Pair<>(value, buildSettingTarget));
158+
unparsedOptions.put(name, new Pair<>(value, buildSettingTarget));
165159
} else {
166160
boolean booleanValue = true;
167161
// check --noflag form

src/test/java/com/google/devtools/build/lib/starlark/StarlarkOptionsParsingTest.java

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -45,40 +45,18 @@ public void testFlagEqualsValueForm() throws Exception {
4545
assertThat(result.getResidue()).isEmpty();
4646
}
4747

48-
// test --@main_workspace//flag=value parses out to //flag=value
49-
// test --@other_workspace//flag=value parses out to @other_workspace//flag=value
48+
// test --@workspace//flag=value
5049
@Test
5150
public void testFlagNameWithWorkspace() throws Exception {
5251
writeBasicIntFlag();
53-
scratch.file("test/repo2/WORKSPACE");
54-
scratch.file(
55-
"test/repo2/defs.bzl",
56-
"def _impl(ctx):",
57-
" pass",
58-
"my_flag = rule(",
59-
" implementation = _impl,",
60-
" build_setting = config.int(flag = True),",
61-
")");
62-
scratch.file(
63-
"test/repo2/BUILD",
64-
"load(':defs.bzl', 'my_flag')",
65-
"my_flag(name = 'flag2', build_setting_default=2)");
66-
67-
rewriteWorkspace(
68-
"workspace(name = 'starlark_options_test')",
69-
"local_repository(",
70-
" name = 'repo2',",
71-
" path = 'test/repo2',",
72-
")");
52+
rewriteWorkspace("workspace(name = 'starlark_options_test')");
7353

7454
OptionsParsingResult result =
75-
parseStarlarkOptions(
76-
"--@starlark_options_test//test:my_int_setting=666 --@repo2//:flag2=222");
55+
parseStarlarkOptions("--@starlark_options_test//test:my_int_setting=666");
7756

78-
assertThat(result.getStarlarkOptions()).hasSize(2);
79-
assertThat(result.getStarlarkOptions().get("//test:my_int_setting"))
57+
assertThat(result.getStarlarkOptions()).hasSize(1);
58+
assertThat(result.getStarlarkOptions().get("@starlark_options_test//test:my_int_setting"))
8059
.isEqualTo(StarlarkInt.of(666));
81-
assertThat(result.getStarlarkOptions().get("@repo2//:flag2")).isEqualTo(StarlarkInt.of(222));
8260
assertThat(result.getResidue()).isEmpty();
8361
}
8462

0 commit comments

Comments
 (0)