Fix classes that create OptionsParser instances to directly use the Builder.
This allows better creation of OptionsParser instances. The old factory methods will be removed in the near future.
PiperOrigin-RevId: 253994029
diff --git a/src/test/java/com/google/devtools/build/android/AarGeneratorActionTest.java b/src/test/java/com/google/devtools/build/android/AarGeneratorActionTest.java
index 7f188d1..794fbcf 100644
--- a/src/test/java/com/google/devtools/build/android/AarGeneratorActionTest.java
+++ b/src/test/java/com/google/devtools/build/android/AarGeneratorActionTest.java
@@ -308,7 +308,8 @@
String[] args = new String[] {"--manifest", manifest.toString(), "--rtxt", rtxt.toString(),
"--classes", classes.toString()};
- OptionsParser optionsParser = OptionsParser.newOptionsParser(AarGeneratorOptions.class);
+ OptionsParser optionsParser =
+ OptionsParser.builder().optionsClasses(AarGeneratorOptions.class).build();
optionsParser.parse(args);
AarGeneratorOptions options = optionsParser.getOptions(AarGeneratorOptions.class);
AarGeneratorAction.checkFlags(options);
@@ -321,7 +322,8 @@
Files.createFile(rtxt);
String[] args = new String[] {"--manifest", manifest.toString(), "--rtxt", rtxt.toString()};
- OptionsParser optionsParser = OptionsParser.newOptionsParser(AarGeneratorOptions.class);
+ OptionsParser optionsParser =
+ OptionsParser.builder().optionsClasses(AarGeneratorOptions.class).build();
optionsParser.parse(args);
AarGeneratorOptions options = optionsParser.getOptions(AarGeneratorOptions.class);
thrown.expect(IllegalArgumentException.class);
@@ -334,7 +336,8 @@
Path manifest = tempDir.resolve("AndroidManifest.xml");
Files.createFile(manifest);
String[] args = new String[] {"--manifest", manifest.toString()};
- OptionsParser optionsParser = OptionsParser.newOptionsParser(AarGeneratorOptions.class);
+ OptionsParser optionsParser =
+ OptionsParser.builder().optionsClasses(AarGeneratorOptions.class).build();
optionsParser.parse(args);
AarGeneratorOptions options = optionsParser.getOptions(AarGeneratorOptions.class);
thrown.expect(IllegalArgumentException.class);
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildOptionsTest.java b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildOptionsTest.java
index 4cbfa91..230149f 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildOptionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildOptionsTest.java
@@ -51,9 +51,13 @@
@Test
public void optionSetCaching() {
BuildOptions a =
- BuildOptions.of(BUILD_CONFIG_OPTIONS, OptionsParser.newOptionsParser(BUILD_CONFIG_OPTIONS));
+ BuildOptions.of(
+ BUILD_CONFIG_OPTIONS,
+ OptionsParser.builder().optionsClasses(BUILD_CONFIG_OPTIONS).build());
BuildOptions b =
- BuildOptions.of(BUILD_CONFIG_OPTIONS, OptionsParser.newOptionsParser(BUILD_CONFIG_OPTIONS));
+ BuildOptions.of(
+ BUILD_CONFIG_OPTIONS,
+ OptionsParser.builder().optionsClasses(BUILD_CONFIG_OPTIONS).build());
// The cache keys of the OptionSets must be equal even if these are
// different objects, if they were created with the same options (no options in this case).
assertThat(b.toString()).isEqualTo(a.toString());
@@ -365,7 +369,9 @@
@Test
public void testMultiValueOptionImmutability() {
BuildOptions options =
- BuildOptions.of(BUILD_CONFIG_OPTIONS, OptionsParser.newOptionsParser(BUILD_CONFIG_OPTIONS));
+ BuildOptions.of(
+ BUILD_CONFIG_OPTIONS,
+ OptionsParser.builder().optionsClasses(BUILD_CONFIG_OPTIONS).build());
CoreOptions coreOptions = options.get(CoreOptions.class);
assertThrows(
UnsupportedOperationException.class,
@@ -377,7 +383,7 @@
public void parsingResultTransform() throws Exception {
BuildOptions original = BuildOptions.of(BUILD_CONFIG_OPTIONS, "--cpu=foo", "--stamp");
- OptionsParser parser = OptionsParser.newOptionsParser(BUILD_CONFIG_OPTIONS);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(BUILD_CONFIG_OPTIONS).build();
parser.parse("--cpu=bar", "--nostamp");
parser.setStarlarkOptions(ImmutableMap.of("//custom:flag", "hello"));
@@ -400,7 +406,8 @@
fragmentClassesBuilder.add(CppOptions.class);
- OptionsParser parser = OptionsParser.newOptionsParser(fragmentClassesBuilder.build());
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(fragmentClassesBuilder.build()).build();
parser.parse("--cxxopt=bar");
BuildOptions modified = original.applyParsingResult(parser);
@@ -412,7 +419,7 @@
public void parsingResultTransformIllegalStarlarkLabel() throws Exception {
BuildOptions original = BuildOptions.of(BUILD_CONFIG_OPTIONS);
- OptionsParser parser = OptionsParser.newOptionsParser(BUILD_CONFIG_OPTIONS);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(BUILD_CONFIG_OPTIONS).build();
parser.setStarlarkOptions(ImmutableMap.of("@@@", "hello"));
assertThrows(IllegalArgumentException.class, () -> original.applyParsingResult(parser));
@@ -422,7 +429,7 @@
public void parsingResultTransformMultiValueOption() throws Exception {
BuildOptions original = BuildOptions.of(BUILD_CONFIG_OPTIONS);
- OptionsParser parser = OptionsParser.newOptionsParser(BUILD_CONFIG_OPTIONS);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(BUILD_CONFIG_OPTIONS).build();
parser.parse("--features=foo");
BuildOptions modified = original.applyParsingResult(parser);
@@ -434,10 +441,12 @@
public void parsingResultMatch() throws Exception {
BuildOptions original = BuildOptions.of(BUILD_CONFIG_OPTIONS, "--cpu=foo", "--stamp");
- OptionsParser matchingParser = OptionsParser.newOptionsParser(BUILD_CONFIG_OPTIONS);
+ OptionsParser matchingParser =
+ OptionsParser.builder().optionsClasses(BUILD_CONFIG_OPTIONS).build();
matchingParser.parse("--cpu=foo", "--stamp");
- OptionsParser notMatchingParser = OptionsParser.newOptionsParser(BUILD_CONFIG_OPTIONS);
+ OptionsParser notMatchingParser =
+ OptionsParser.builder().optionsClasses(BUILD_CONFIG_OPTIONS).build();
notMatchingParser.parse("--cpu=foo", "--nostamp");
assertThat(original.matches(matchingParser)).isTrue();
@@ -451,10 +460,12 @@
.addStarlarkOption(Label.parseAbsoluteUnchecked("//custom:flag"), "hello")
.build();
- OptionsParser matchingParser = OptionsParser.newOptionsParser(BUILD_CONFIG_OPTIONS);
+ OptionsParser matchingParser =
+ OptionsParser.builder().optionsClasses(BUILD_CONFIG_OPTIONS).build();
matchingParser.setStarlarkOptions(ImmutableMap.of("//custom:flag", "hello"));
- OptionsParser notMatchingParser = OptionsParser.newOptionsParser(BUILD_CONFIG_OPTIONS);
+ OptionsParser notMatchingParser =
+ OptionsParser.builder().optionsClasses(BUILD_CONFIG_OPTIONS).build();
notMatchingParser.setStarlarkOptions(ImmutableMap.of("//custom:flag", "foo"));
assertThat(original.matches(matchingParser)).isTrue();
@@ -471,7 +482,7 @@
.add(CppOptions.class)
.build();
- OptionsParser parser = OptionsParser.newOptionsParser(fragmentClasses);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(fragmentClasses).build();
parser.parse("--cpu=foo", "--cxxopt=bar");
assertThat(original.matches(parser)).isTrue();
@@ -487,7 +498,7 @@
.add(CppOptions.class)
.build();
- OptionsParser parser = OptionsParser.newOptionsParser(fragmentClasses);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(fragmentClasses).build();
parser.parse("--cxxopt=bar");
assertThat(original.matches(parser)).isFalse();
@@ -506,7 +517,7 @@
.add(CppOptions.class)
.build();
- OptionsParser parser = OptionsParser.newOptionsParser(fragmentClasses);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(fragmentClasses).build();
parser.parse("--cxxopt=bar");
parser.setStarlarkOptions(ImmutableMap.of("//custom:flag", "hello"));
@@ -520,7 +531,7 @@
.addStarlarkOption(Label.parseAbsoluteUnchecked("//custom:flag1"), "hello")
.build();
- OptionsParser parser = OptionsParser.newOptionsParser(BUILD_CONFIG_OPTIONS);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(BUILD_CONFIG_OPTIONS).build();
parser.setStarlarkOptions(ImmutableMap.of("//custom:flag2", "foo"));
assertThat(original.matches(parser)).isFalse();
@@ -530,7 +541,7 @@
public void parsingResultMatchNullOption() throws Exception {
BuildOptions original = BuildOptions.of(BUILD_CONFIG_OPTIONS);
- OptionsParser parser = OptionsParser.newOptionsParser(BUILD_CONFIG_OPTIONS);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(BUILD_CONFIG_OPTIONS).build();
parser.parse("--platform_suffix=foo"); // Note: platform_suffix is null by default.
assertThat(original.matches(parser)).isFalse();
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/config/TransitiveOptionDetailsTest.java b/src/test/java/com/google/devtools/build/lib/analysis/config/TransitiveOptionDetailsTest.java
index f243af9..d7ce1e0 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/config/TransitiveOptionDetailsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/config/TransitiveOptionDetailsTest.java
@@ -39,7 +39,8 @@
public Iterable<FragmentOptions> parseOptions(
Iterable<? extends Class<? extends FragmentOptions>> optionsClasses, String... options)
throws Exception {
- OptionsParser optionsParser = OptionsParser.newOptionsParser(false, optionsClasses);
+ OptionsParser optionsParser =
+ OptionsParser.builder().optionsClasses(optionsClasses).allowResidue(false).build();
optionsParser.parse(options);
ImmutableList.Builder<FragmentOptions> output = new ImmutableList.Builder<>();
for (Class<? extends FragmentOptions> optionsClass : optionsClasses) {
diff --git a/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java b/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java
index 72ece5b..6fd4db7 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java
@@ -221,7 +221,11 @@
}
private static StarlarkSemanticsOptions parseOptions(String... args) throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(false, StarlarkSemanticsOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder()
+ .optionsClasses(StarlarkSemanticsOptions.class)
+ .allowResidue(false)
+ .build();
parser.parse(Arrays.asList(args));
return parser.getOptions(StarlarkSemanticsOptions.class);
}
diff --git a/src/test/java/com/google/devtools/build/lib/packages/WorkspaceFactoryTestHelper.java b/src/test/java/com/google/devtools/build/lib/packages/WorkspaceFactoryTestHelper.java
index 437a0cf..2e529bc 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/WorkspaceFactoryTestHelper.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/WorkspaceFactoryTestHelper.java
@@ -120,7 +120,8 @@
private static StarlarkSemantics parseSkylarkSemanticsOptions(String... options)
throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(StarlarkSemanticsOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(StarlarkSemanticsOptions.class).build();
parser.parse(options);
return parser.getOptions(StarlarkSemanticsOptions.class).toSkylarkSemantics();
}
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java b/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java
index 9928b46..70a1252 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java
@@ -101,7 +101,8 @@
String skylarkOption)
throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(StarlarkSemanticsOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(StarlarkSemanticsOptions.class).build();
parser.parse(
skylarkOption == null
? ImmutableList.<String>of()
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java b/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
index 13545b2..8691dd7 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
@@ -181,7 +181,8 @@
}
private static PackageCacheOptions parsePackageCacheOptions(String... options) throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(PackageCacheOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(PackageCacheOptions.class).build();
parser.parse("--default_visibility=public");
parser.parse(options);
return parser.getOptions(PackageCacheOptions.class);
@@ -189,7 +190,8 @@
private static StarlarkSemanticsOptions parseSkylarkSemanticsOptions(String... options)
throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(StarlarkSemanticsOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(StarlarkSemanticsOptions.class).build();
parser.parse(options);
return parser.getOptions(StarlarkSemanticsOptions.class);
}
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/StarlarkOptionsParsingTest.java b/src/test/java/com/google/devtools/build/lib/skylark/StarlarkOptionsParsingTest.java
index e2cd892..ad5c0cf 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/StarlarkOptionsParsingTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/StarlarkOptionsParsingTest.java
@@ -65,8 +65,11 @@
@Before
public void setUp() throws Exception {
optionsParser =
- OptionsParser.newOptionsParser(
- Iterables.concat(requiredOptionsClasses, ruleClassProvider.getConfigurationOptions()));
+ OptionsParser.builder()
+ .optionsClasses(
+ Iterables.concat(
+ requiredOptionsClasses, ruleClassProvider.getConfigurationOptions()))
+ .build();
starlarkOptionsParser =
StarlarkOptionsParser.newStarlarkOptionsParserForTesting(
skyframeExecutor, reporter, PathFragment.EMPTY_FRAGMENT, optionsParser);