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