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);