Fix classes that create OptionsParser instances to directly use the Builder.

PiperOrigin-RevId: 253800892
diff --git a/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/Main.java b/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/Main.java
index a6b9587..ac6defa 100644
--- a/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/Main.java
+++ b/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/Main.java
@@ -213,10 +213,11 @@
   @VisibleForTesting
   static Options parseCommandLineOptions(String[] args) throws IOException {
     OptionsParser optionsParser =
-        OptionsParser.newOptionsParser(
-            /* allowResidue=*/ false,
-            new ShellQuotedParamsFilePreProcessor(FileSystems.getDefault()),
-            Options.class);
+        OptionsParser.builder()
+            .optionsClasses(Options.class)
+            .allowResidue(false)
+            .argsPreProcessor(new ShellQuotedParamsFilePreProcessor(FileSystems.getDefault()))
+            .build();
     optionsParser.parseAndExitUponError(args);
     Options options = optionsParser.getOptions(Options.class);
 
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java
index c2c7f06..9d99dcf 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java
@@ -146,8 +146,9 @@
       throws OptionsParsingException {
     Builder builder = builder();
     OptionsParser parser =
-        OptionsParser.newOptionsParser(
-            ImmutableList.<Class<? extends OptionsBase>>copyOf(optionsList));
+        OptionsParser.builder()
+            .optionsClasses(ImmutableList.<Class<? extends OptionsBase>>copyOf(optionsList))
+            .build();
     parser.parse(args);
     for (Class<? extends FragmentOptions> optionsClass : optionsList) {
       builder.addFragmentOptions(parser.getOptions(optionsClass));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigSetting.java b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigSetting.java
index 67bdfc5..38d2bd9 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigSetting.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigSetting.java
@@ -297,7 +297,7 @@
 
       OptionsParser parser;
       try {
-        parser = OptionsParser.newOptionsParser(optionClass);
+        parser = OptionsParser.builder().optionsClasses(optionClass).build();
         parser.parse("--" + optionName + "=" + expectedRawValue);
       } catch (OptionsParsingException ex) {
         ruleContext.attributeError(
diff --git a/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java b/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java
index 4fbfbbe..8cece88 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java
@@ -117,7 +117,10 @@
     final String query = ruleContext.attributes().get("expression", Type.STRING);
 
     OptionsParser optionsParser =
-        OptionsParser.newOptionsParser(false, QueryOptions.class, KeepGoingOption.class);
+        OptionsParser.builder()
+            .optionsClasses(QueryOptions.class, KeepGoingOption.class)
+            .allowResidue(false)
+            .build();
     try {
       optionsParser.parse(ruleContext.attributes().get("opts", Type.STRING_LIST));
     } catch (OptionsParsingException e) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PlatformMappingValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PlatformMappingValue.java
index a3c6e0c..e199295 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PlatformMappingValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PlatformMappingValue.java
@@ -261,7 +261,8 @@
 
   private OptionsParsingResult parse(Iterable<String> args, BuildOptions defaultBuildOptions)
       throws OptionsParsingException {
-    OptionsParser parser = OptionsParser.newOptionsParser(defaultBuildOptions.getFragmentClasses());
+    OptionsParser parser =
+        OptionsParser.builder().optionsClasses(defaultBuildOptions.getFragmentClasses()).build();
     parser.parse(ImmutableList.copyOf(args));
     // TODO(schmitt): Parse starlark options as well.
     return parser;
diff --git a/src/main/java/com/google/devtools/common/options/Options.java b/src/main/java/com/google/devtools/common/options/Options.java
index 72bdcd7..669ac24 100644
--- a/src/main/java/com/google/devtools/common/options/Options.java
+++ b/src/main/java/com/google/devtools/common/options/Options.java
@@ -50,7 +50,7 @@
    */
   public static <O extends OptionsBase> Options<O> parse(Class<O> optionsClass, String... args)
       throws OptionsParsingException {
-    OptionsParser parser = OptionsParser.newOptionsParser(optionsClass);
+    OptionsParser parser = OptionsParser.builder().optionsClasses(optionsClass).build();
     parser.parse(OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList(args));
     List<String> remainingArgs = parser.getResidue();
     return new Options<>(parser.getOptions(optionsClass), remainingArgs.toArray(new String[0]));
@@ -65,7 +65,8 @@
       Class<O> optionsClass, boolean allowResidue, String... args) {
     OptionsParser parser = null;
     try {
-      parser = OptionsParser.newOptionsParser(allowResidue, optionsClass);
+      parser =
+          OptionsParser.builder().optionsClasses(optionsClass).allowResidue(allowResidue).build();
     } catch (ConstructionException e) {
       System.err.println("Error constructing the options parser: " + e.getMessage());
       System.exit(2);
diff --git a/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java b/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java
index 41c7a94..ca604ed 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java
@@ -63,7 +63,8 @@
   @Test
   public void testDebugPrintActionContexts() throws Exception {
     TestExecutorBuilder builder = new TestExecutorBuilder(fileSystem, directories, binTools);
-    OptionsParser parser = OptionsParser.newOptionsParser(TestExecutorBuilder.DEFAULT_OPTIONS);
+    OptionsParser parser =
+        OptionsParser.builder().optionsClasses(TestExecutorBuilder.DEFAULT_OPTIONS).build();
     parser.parse("--debug_print_action_contexts");
 
     Reporter reporter = new Reporter(new EventBus());
diff --git a/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java b/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java
index beaefce..57dbf12 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java
@@ -50,7 +50,8 @@
   private final FileSystem fileSystem;
   private final BlazeDirectories directories;
   private Reporter reporter = new Reporter(new EventBus());
-  private OptionsParser optionsParser = OptionsParser.newOptionsParser(DEFAULT_OPTIONS);
+  private OptionsParser optionsParser =
+      OptionsParser.builder().optionsClasses(DEFAULT_OPTIONS).build();
   private List<ActionContext> strategies = new ArrayList<>();
   private final Map<String, List<SpawnActionContext>> spawnStrategyMap =
       new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/commands/CleanCommandRecommendsAsyncTest.java b/src/test/java/com/google/devtools/build/lib/runtime/commands/CleanCommandRecommendsAsyncTest.java
index 1073726..1dbccad 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/commands/CleanCommandRecommendsAsyncTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/commands/CleanCommandRecommendsAsyncTest.java
@@ -90,7 +90,7 @@
             .setProductName(productName)
             .setServerDirectories(serverDirectories)
             .setStartupOptionsProvider(
-                OptionsParser.newOptionsParser(BlazeServerStartupOptions.class))
+                OptionsParser.builder().optionsClasses(BlazeServerStartupOptions.class).build())
             .addBlazeModule(
                 new BlazeModule() {
                   @Override
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
index 63054cb..a8c4f8d 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
@@ -144,7 +144,10 @@
 
   @Before
   public final void initialize() throws Exception  {
-    options = OptionsParser.newOptionsParser(KeepGoingOption.class, BuildRequestOptions.class);
+    options =
+        OptionsParser.builder()
+            .optionsClasses(KeepGoingOption.class, BuildRequestOptions.class)
+            .build();
     options.parse();
     inMemoryCache = new InMemoryActionCache();
     tsgm = new TimestampGranularityMonitor(clock);
diff --git a/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java b/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java
index aba06f6..b74fca8 100644
--- a/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java
@@ -114,7 +114,8 @@
             "mock-product-name");
     // This call implicitly symlinks the integration bin tools into the exec root.
     IntegrationMock.get().getIntegrationBinTools(fileSystem, directories);
-    OptionsParser optionsParser = OptionsParser.newOptionsParser(ExecutionOptions.class);
+    OptionsParser optionsParser =
+        OptionsParser.builder().optionsClasses(ExecutionOptions.class).build();
     optionsParser.parse("--verbose_failures");
     LocalExecutionOptions localExecutionOptions = Options.getDefaults(LocalExecutionOptions.class);
 
diff --git a/src/test/java/com/google/devtools/build/lib/testutil/TestMode.java b/src/test/java/com/google/devtools/build/lib/testutil/TestMode.java
index cca7363..0404474 100644
--- a/src/test/java/com/google/devtools/build/lib/testutil/TestMode.java
+++ b/src/test/java/com/google/devtools/build/lib/testutil/TestMode.java
@@ -31,7 +31,8 @@
 public abstract class TestMode {
   private static StarlarkSemantics parseSkylarkSemantics(String... skylarkOptions)
       throws Exception {
-    OptionsParser parser = OptionsParser.newOptionsParser(StarlarkSemanticsOptions.class);
+    OptionsParser parser =
+        OptionsParser.builder().optionsClasses(StarlarkSemanticsOptions.class).build();
     parser.parse(skylarkOptions);
     return parser.getOptions(StarlarkSemanticsOptions.class).toSkylarkSemantics();
   }
diff --git a/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java b/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java
index 24a2b25..54eccca 100644
--- a/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java
@@ -77,7 +77,8 @@
 
   @Test
   public void asStringOfExplicitOptions() throws Exception {
-    OptionsParser parser = OptionsParser.newOptionsParser(IntrospectionExample.class);
+    OptionsParser parser =
+        OptionsParser.builder().optionsClasses(IntrospectionExample.class).build();
     parser.parse("--alpha=no", "--gamma=no", "--echo=no");
     assertThat(OptionsUtils.asShellEscapedString(parser)).isEqualTo("--alpha=no --gamma=no");
     assertThat(OptionsUtils.asArgumentList(parser))
@@ -87,7 +88,8 @@
 
   @Test
   public void asStringOfExplicitOptionsCorrectSortingByPriority() throws Exception {
-    OptionsParser parser = OptionsParser.newOptionsParser(IntrospectionExample.class);
+    OptionsParser parser =
+        OptionsParser.builder().optionsClasses(IntrospectionExample.class).build();
     parser.parse(PriorityCategory.COMMAND_LINE, null, Arrays.asList("--alpha=no"));
     parser.parse(PriorityCategory.COMPUTED_DEFAULT, null, Arrays.asList("--beta=no"));
     assertThat(OptionsUtils.asShellEscapedString(parser)).isEqualTo("--beta=no --alpha=no");
@@ -114,14 +116,14 @@
 
   @Test
   public void asStringOfExplicitOptionsWithBooleans() throws Exception {
-    OptionsParser parser = OptionsParser.newOptionsParser(BooleanOpts.class);
+    OptionsParser parser = OptionsParser.builder().optionsClasses(BooleanOpts.class).build();
     parser.parse(PriorityCategory.COMMAND_LINE, null, Arrays.asList("--b_one", "--nob_two"));
     assertThat(OptionsUtils.asShellEscapedString(parser)).isEqualTo("--b_one --nob_two");
     assertThat(OptionsUtils.asArgumentList(parser))
         .containsExactly("--b_one", "--nob_two")
         .inOrder();
 
-    parser = OptionsParser.newOptionsParser(BooleanOpts.class);
+    parser = OptionsParser.builder().optionsClasses(BooleanOpts.class).build();
     parser.parse(PriorityCategory.COMMAND_LINE, null, Arrays.asList("--b_one=true", "--b_two=0"));
     assertThat(parser.getOptions(BooleanOpts.class).bOne).isTrue();
     assertThat(parser.getOptions(BooleanOpts.class).bTwo).isFalse();
@@ -133,7 +135,8 @@
 
   @Test
   public void asStringOfExplicitOptionsMultipleOptionsAreMultipleTimes() throws Exception {
-    OptionsParser parser = OptionsParser.newOptionsParser(IntrospectionExample.class);
+    OptionsParser parser =
+        OptionsParser.builder().optionsClasses(IntrospectionExample.class).build();
     parser.parse(PriorityCategory.COMMAND_LINE, null, Arrays.asList("--alpha=one"));
     parser.parse(PriorityCategory.COMMAND_LINE, null, Arrays.asList("--alpha=two"));
     assertThat(OptionsUtils.asShellEscapedString(parser)).isEqualTo("--alpha=one --alpha=two");
diff --git a/src/test/java/com/google/devtools/build/lib/worker/ExampleWorker.java b/src/test/java/com/google/devtools/build/lib/worker/ExampleWorker.java
index 68ac879..15ce123 100644
--- a/src/test/java/com/google/devtools/build/lib/worker/ExampleWorker.java
+++ b/src/test/java/com/google/devtools/build/lib/worker/ExampleWorker.java
@@ -59,7 +59,11 @@
 
   public static void main(String[] args) throws Exception {
     if (ImmutableSet.copyOf(args).contains("--persistent_worker")) {
-      OptionsParser parser = OptionsParser.newOptionsParser(false, ExampleWorkerOptions.class);
+      OptionsParser parser =
+          OptionsParser.builder()
+              .optionsClasses(ExampleWorkerOptions.class)
+              .allowResidue(false)
+              .build();
       parser.parse(args);
       ExampleWorkerOptions workerOptions = parser.getOptions(ExampleWorkerOptions.class);
       Preconditions.checkState(workerOptions.persistentWorker);
@@ -155,7 +159,8 @@
       }
     }
 
-    OptionsParser parser = OptionsParser.newOptionsParser(true, ExampleWorkOptions.class);
+    OptionsParser parser =
+        OptionsParser.builder().optionsClasses(ExampleWorkOptions.class).allowResidue(true).build();
     parser.parse(expandedArgs.build());
     ExampleWorkOptions options = parser.getOptions(ExampleWorkOptions.class);
 
diff --git a/src/tools/android/java/com/google/devtools/build/android/desugar/Desugar.java b/src/tools/android/java/com/google/devtools/build/android/desugar/Desugar.java
index bc3a290..9fc9335 100644
--- a/src/tools/android/java/com/google/devtools/build/android/desugar/Desugar.java
+++ b/src/tools/android/java/com/google/devtools/build/android/desugar/Desugar.java
@@ -1120,10 +1120,11 @@
 
   private static DesugarOptions parseCommandLineOptions(String[] args) {
     OptionsParser parser =
-        OptionsParser.newOptionsParser(
-            false,
-            new ShellQuotedParamsFilePreProcessor(FileSystems.getDefault()),
-            DesugarOptions.class);
+        OptionsParser.builder()
+            .optionsClasses(DesugarOptions.class)
+            .allowResidue(false)
+            .argsPreProcessor(new ShellQuotedParamsFilePreProcessor(FileSystems.getDefault()))
+            .build();
     parser.parseAndExitUponError(args);
     DesugarOptions options = parser.getOptions(DesugarOptions.class);
 
diff --git a/src/tools/android/java/com/google/devtools/build/android/ziputils/DexMapper.java b/src/tools/android/java/com/google/devtools/build/android/ziputils/DexMapper.java
index 3779d8f..eb8e6d0 100644
--- a/src/tools/android/java/com/google/devtools/build/android/ziputils/DexMapper.java
+++ b/src/tools/android/java/com/google/devtools/build/android/ziputils/DexMapper.java
@@ -40,10 +40,11 @@
   public static void main(String[] args) {
 
     OptionsParser parser =
-        OptionsParser.newOptionsParser(
-            true,
-            new ShellQuotedParamsFilePreProcessor(FileSystems.getDefault()),
-            DexMapperOptions.class);
+        OptionsParser.builder()
+            .optionsClasses(DexMapperOptions.class)
+            .allowResidue(true)
+            .argsPreProcessor(new ShellQuotedParamsFilePreProcessor(FileSystems.getDefault()))
+            .build();
     parser.parseAndExitUponError(args);
     DexMapperOptions options = parser.getOptions(DexMapperOptions.class);
 
diff --git a/src/tools/remote/src/main/java/com/google/devtools/build/remote/worker/RemoteWorker.java b/src/tools/remote/src/main/java/com/google/devtools/build/remote/worker/RemoteWorker.java
index 1c8a448..7ef15c5 100644
--- a/src/tools/remote/src/main/java/com/google/devtools/build/remote/worker/RemoteWorker.java
+++ b/src/tools/remote/src/main/java/com/google/devtools/build/remote/worker/RemoteWorker.java
@@ -213,7 +213,9 @@
   @SuppressWarnings("FutureReturnValueIgnored")
   public static void main(String[] args) throws Exception {
     OptionsParser parser =
-        OptionsParser.newOptionsParser(RemoteOptions.class, RemoteWorkerOptions.class);
+        OptionsParser.builder()
+            .optionsClasses(RemoteOptions.class, RemoteWorkerOptions.class)
+            .build();
     parser.parseAndExitUponError(args);
     RemoteOptions remoteOptions = parser.getOptions(RemoteOptions.class);
     RemoteWorkerOptions remoteWorkerOptions = parser.getOptions(RemoteWorkerOptions.class);