Fix classes that create OptionsParser instances to directly use the Builder.
PiperOrigin-RevId: 253601285
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java
index 601b8b4..290ae1c 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java
@@ -651,7 +651,11 @@
}
Command annotation = command.getClass().getAnnotation(Command.class);
OptionsParser parser =
- OptionsParser.newOptionsParser(optionsData, "--//", annotation.allowResidue());
+ OptionsParser.builder()
+ .optionsData(optionsData)
+ .skippedPrefix("--//")
+ .allowResidue(annotation.allowResidue())
+ .build();
return parser;
}
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandUtils.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandUtils.java
index 4982415..41469c44 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandUtils.java
@@ -123,7 +123,7 @@
Collection<Class<? extends OptionsBase>> options,
OptionsParser.HelpVerbosity helpVerbosity,
String productName) {
- OptionsParser parser = OptionsParser.newOptionsParser(options);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(options).build();
String template;
if (help.startsWith("resource:")) {
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
index f05338b..718a3dc 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
@@ -1147,7 +1147,8 @@
BlazeCommandUtils.getStartupOptions(modules);
// First parse the command line so that we get the option_sources argument
- OptionsParser parser = OptionsParser.newOptionsParser(false, optionClasses);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(optionClasses).allowResidue(false).build();
parser.parse(PriorityCategory.COMMAND_LINE, null, args);
Map<String, String> optionSources =
parser.getOptions(BlazeServerStartupOptions.class).optionSources;
@@ -1160,7 +1161,7 @@
: optionSources.get(option.getOptionName());
// Then parse the command line again, this time with the correct option sources
- parser = OptionsParser.newOptionsParser(false, optionClasses);
+ parser = OptionsParser.builder().optionsClasses(optionClasses).allowResidue(false).build();
parser.parseWithSourceFunction(PriorityCategory.COMMAND_LINE, sourceFunction, args);
return parser;
}
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/CommandLineEvent.java b/src/main/java/com/google/devtools/build/lib/runtime/CommandLineEvent.java
index 5eff056..97a6e92 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/CommandLineEvent.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/CommandLineEvent.java
@@ -317,7 +317,8 @@
private CommandLineSection getCanonicalStartupOptions() {
List<Option> unfilteredOptions = getActiveStartupOptions().getOptionList().getOptionList();
// Create the fake ones to prevent reapplication of the original rc file contents.
- OptionsParser fakeOptions = OptionsParser.newOptionsParser(BlazeServerStartupOptions.class);
+ OptionsParser fakeOptions =
+ OptionsParser.builder().optionsClasses(BlazeServerStartupOptions.class).build();
try {
fakeOptions.parse("--ignore_all_rc_files");
} catch (OptionsParsingException e) {
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansionTest.java b/src/test/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansionTest.java
index 7e162cc..e70dab3 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansionTest.java
@@ -153,7 +153,7 @@
@Test
public void noChangesSelected() throws OptionsParsingException {
- OptionsParser parser = OptionsParser.newOptionsParser(ExampleOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExampleOptions.class).build();
parser.parse("");
ExampleOptions opts = parser.getOptions(ExampleOptions.class);
assertThat(opts.x).isFalse();
@@ -165,7 +165,7 @@
@Test
public void allChangesSelected() throws OptionsParsingException {
- OptionsParser parser = OptionsParser.newOptionsParser(ExampleOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExampleOptions.class).build();
parser.parse("--all");
ExampleOptions opts = parser.getOptions(ExampleOptions.class);
assertThat(opts.x).isFalse();
@@ -179,7 +179,7 @@
public void rightmostOverrides() throws OptionsParsingException {
// Check that all-expansion behaves just like any other expansion flag:
// the rightmost setting of any individual option wins.
- OptionsParser parser = OptionsParser.newOptionsParser(ExampleOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExampleOptions.class).build();
parser.parse("--noincompatible_A", "--all", "--noincompatible_B");
ExampleOptions opts = parser.getOptions(ExampleOptions.class);
assertThat(opts.incompatibleA).isTrue();
@@ -191,7 +191,9 @@
// Check that all-expansion behaves just like any other expansion flag:
// the rightmost setting of any individual option wins.
OptionsParser parser =
- OptionsParser.newOptionsParser(ExampleOptions.class, ExampleExpansionOptions.class);
+ OptionsParser.builder()
+ .optionsClasses(ExampleOptions.class, ExampleExpansionOptions.class)
+ .build();
parser.parse("--all");
ExampleOptions opts = parser.getOptions(ExampleOptions.class);
assertThat(opts.x).isTrue();
@@ -212,8 +214,7 @@
InvocationPolicy policy = invocationPolicyBuilder.build();
InvocationPolicyEnforcer enforcer = new InvocationPolicyEnforcer(policy);
- OptionsParser parser =
- OptionsParser.newOptionsParser(ExampleOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExampleOptions.class).build();
parser.parse("--all");
enforcer.enforce(parser);
@@ -240,7 +241,9 @@
@Test
public void incompatibleChangeTagDoesNotTriggerAllIncompatibleChangesCheck() {
try {
- OptionsParser.newOptionsParser(ExampleOptions.class, IncompatibleChangeTagOption.class);
+ OptionsParser.builder()
+ .optionsClasses(ExampleOptions.class, IncompatibleChangeTagOption.class)
+ .build();
} catch (OptionsParser.ConstructionException e) {
fail(
"some_option_with_a_tag should not trigger the expansion, so there should be no checks "
@@ -265,7 +268,10 @@
assertThrows(
"Should have failed with message \"" + message + "\"",
OptionsParser.ConstructionException.class,
- () -> OptionsParser.newOptionsParser(ExampleOptions.class, optionsBaseClass));
+ () ->
+ OptionsParser.builder()
+ .optionsClasses(ExampleOptions.class, optionsBaseClass)
+ .build());
assertThat(e).hasMessageThat().contains(message);
}
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherRcoptionsTest.java b/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherRcoptionsTest.java
index 2cddf92..e2e0e71 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherRcoptionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherRcoptionsTest.java
@@ -139,7 +139,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/runtime/BlazeOptionHandlerTest.java b/src/test/java/com/google/devtools/build/lib/runtime/BlazeOptionHandlerTest.java
index 7451bd1..2172600 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/BlazeOptionHandlerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/BlazeOptionHandlerTest.java
@@ -59,8 +59,10 @@
@Before
public void initStuff() throws Exception {
parser =
- OptionsParser.newOptionsParser(
- true, TestOptions.class, CommonCommandOptions.class, ClientOptions.class);
+ OptionsParser.builder()
+ .optionsClasses(TestOptions.class, CommonCommandOptions.class, ClientOptions.class)
+ .allowResidue(true)
+ .build();
String productName = TestConstants.PRODUCT_NAME;
ServerDirectories serverDirectories =
new ServerDirectories(
@@ -71,7 +73,7 @@
.setServerDirectories(serverDirectories)
.setProductName(productName)
.setStartupOptionsProvider(
- OptionsParser.newOptionsParser(BlazeServerStartupOptions.class))
+ OptionsParser.builder().optionsClasses(BlazeServerStartupOptions.class).build())
.addBlazeModule(new BazelRulesModule())
.build();
this.runtime.overrideCommands(ImmutableList.of(new C0Command()));
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/BlazeRuntimeTest.java b/src/test/java/com/google/devtools/build/lib/runtime/BlazeRuntimeTest.java
index db9671a..eb30e49 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/BlazeRuntimeTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/BlazeRuntimeTest.java
@@ -120,7 +120,8 @@
serverDirectories, fs.getPath("/workspace"), fs.getPath("/system_javabase"), "blaze");
BlazeWorkspace workspace = runtime.initWorkspace(directories, BinTools.empty(directories));
EventBus eventBus = Mockito.mock(EventBus.class);
- OptionsParser options = OptionsParser.newOptionsParser(COMMAND_ENV_REQUIRED_OPTIONS);
+ OptionsParser options =
+ OptionsParser.builder().optionsClasses(COMMAND_ENV_REQUIRED_OPTIONS).build();
CommandEnvironment env =
new CommandEnvironment(
runtime,
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/BlazeServerStartupOptionsTest.java b/src/test/java/com/google/devtools/build/lib/runtime/BlazeServerStartupOptionsTest.java
index 239de8f..6a89099 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/BlazeServerStartupOptionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/BlazeServerStartupOptionsTest.java
@@ -28,7 +28,8 @@
// value is provided.
@Test
public void testOutputBaseIsNullByDefault() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(BlazeServerStartupOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(BlazeServerStartupOptions.class).build();
parser.parse();
BlazeServerStartupOptions result = parser.getOptions(BlazeServerStartupOptions.class);
assertThat(result.outputBase).isNull();
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/CommandInterruptionTest.java b/src/test/java/com/google/devtools/build/lib/runtime/CommandInterruptionTest.java
index 76c9ede..7a13fec 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/CommandInterruptionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/CommandInterruptionTest.java
@@ -359,7 +359,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/runtime/CommandLineEventTest.java b/src/test/java/com/google/devtools/build/lib/runtime/CommandLineEventTest.java
index 228669b..b103321 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/CommandLineEventTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/CommandLineEventTest.java
@@ -54,8 +54,9 @@
@Test
public void testMostlyEmpty_OriginalCommandLine() {
OptionsParser fakeStartupOptions =
- OptionsParser.newOptionsParser(BlazeServerStartupOptions.class);
- OptionsParser fakeCommandOptions = OptionsParser.newOptionsParser(TestOptions.class);
+ OptionsParser.builder().optionsClasses(BlazeServerStartupOptions.class).build();
+ OptionsParser fakeCommandOptions =
+ OptionsParser.builder().optionsClasses(TestOptions.class).build();
CommandLine line =
new OriginalCommandLineEvent(
@@ -80,8 +81,9 @@
@Test
public void testMostlyEmpty_CanonicalCommandLine() {
OptionsParser fakeStartupOptions =
- OptionsParser.newOptionsParser(BlazeServerStartupOptions.class);
- OptionsParser fakeCommandOptions = OptionsParser.newOptionsParser(TestOptions.class);
+ OptionsParser.builder().optionsClasses(BlazeServerStartupOptions.class).build();
+ OptionsParser fakeCommandOptions =
+ OptionsParser.builder().optionsClasses(TestOptions.class).build();
CommandLine line =
new CanonicalCommandLineEvent(
@@ -105,10 +107,13 @@
@Test
public void testActiveBazelrcs_OriginalCommandLine() throws OptionsParsingException {
OptionsParser fakeStartupOptions =
- OptionsParser.newOptionsParser(BlazeServerStartupOptions.class, Options.class);
+ OptionsParser.builder()
+ .optionsClasses(BlazeServerStartupOptions.class, Options.class)
+ .build();
fakeStartupOptions.parse(
"--bazelrc=/some/path", "--master_bazelrc", "--bazelrc", "/some/other/path");
- OptionsParser fakeCommandOptions = OptionsParser.newOptionsParser(TestOptions.class);
+ OptionsParser fakeCommandOptions =
+ OptionsParser.builder().optionsClasses(TestOptions.class).build();
CommandLine line =
new OriginalCommandLineEvent(
@@ -141,8 +146,11 @@
@Test
public void testPassedInBazelrcs_OriginalCommandLine() throws OptionsParsingException {
OptionsParser fakeStartupOptions =
- OptionsParser.newOptionsParser(BlazeServerStartupOptions.class, Options.class);
- OptionsParser fakeCommandOptions = OptionsParser.newOptionsParser(TestOptions.class);
+ OptionsParser.builder()
+ .optionsClasses(BlazeServerStartupOptions.class, Options.class)
+ .build();
+ OptionsParser fakeCommandOptions =
+ OptionsParser.builder().optionsClasses(TestOptions.class).build();
CommandLine line =
new OriginalCommandLineEvent(
@@ -182,10 +190,13 @@
@Test
public void testBazelrcs_CanonicalCommandLine() throws OptionsParsingException {
OptionsParser fakeStartupOptions =
- OptionsParser.newOptionsParser(BlazeServerStartupOptions.class, Options.class);
+ OptionsParser.builder()
+ .optionsClasses(BlazeServerStartupOptions.class, Options.class)
+ .build();
fakeStartupOptions.parse(
"--bazelrc=/some/path", "--master_bazelrc", "--bazelrc", "/some/other/path");
- OptionsParser fakeCommandOptions = OptionsParser.newOptionsParser(TestOptions.class);
+ OptionsParser fakeCommandOptions =
+ OptionsParser.builder().optionsClasses(TestOptions.class).build();
CommandLine line =
new CanonicalCommandLineEvent(
@@ -211,8 +222,9 @@
@Test
public void testOptionsAtVariousPriorities_OriginalCommandLine() throws OptionsParsingException {
OptionsParser fakeStartupOptions =
- OptionsParser.newOptionsParser(BlazeServerStartupOptions.class);
- OptionsParser fakeCommandOptions = OptionsParser.newOptionsParser(TestOptions.class);
+ OptionsParser.builder().optionsClasses(BlazeServerStartupOptions.class).build();
+ OptionsParser fakeCommandOptions =
+ OptionsParser.builder().optionsClasses(TestOptions.class).build();
fakeCommandOptions.parse(
PriorityCategory.COMMAND_LINE,
"command line",
@@ -254,8 +266,9 @@
@Test
public void testOptionsAtVariousPriorities_CanonicalCommandLine() throws OptionsParsingException {
OptionsParser fakeStartupOptions =
- OptionsParser.newOptionsParser(BlazeServerStartupOptions.class);
- OptionsParser fakeCommandOptions = OptionsParser.newOptionsParser(TestOptions.class);
+ OptionsParser.builder().optionsClasses(BlazeServerStartupOptions.class).build();
+ OptionsParser fakeCommandOptions =
+ OptionsParser.builder().optionsClasses(TestOptions.class).build();
fakeCommandOptions.parse(
PriorityCategory.COMMAND_LINE,
"command line",
@@ -296,8 +309,9 @@
@Test
public void testExpansionOption_OriginalCommandLine() throws OptionsParsingException {
OptionsParser fakeStartupOptions =
- OptionsParser.newOptionsParser(BlazeServerStartupOptions.class);
- OptionsParser fakeCommandOptions = OptionsParser.newOptionsParser(TestOptions.class);
+ OptionsParser.builder().optionsClasses(BlazeServerStartupOptions.class).build();
+ OptionsParser fakeCommandOptions =
+ OptionsParser.builder().optionsClasses(TestOptions.class).build();
fakeCommandOptions.parse(
PriorityCategory.COMMAND_LINE, "command line", ImmutableList.of("--test_expansion"));
@@ -328,8 +342,9 @@
@Test
public void testExpansionOption_CanonicalCommandLine() throws OptionsParsingException {
OptionsParser fakeStartupOptions =
- OptionsParser.newOptionsParser(BlazeServerStartupOptions.class);
- OptionsParser fakeCommandOptions = OptionsParser.newOptionsParser(TestOptions.class);
+ OptionsParser.builder().optionsClasses(BlazeServerStartupOptions.class).build();
+ OptionsParser fakeCommandOptions =
+ OptionsParser.builder().optionsClasses(TestOptions.class).build();
fakeCommandOptions.parse(
PriorityCategory.COMMAND_LINE, "command line", ImmutableList.of("--test_expansion"));
@@ -363,8 +378,9 @@
public void testOptionWithImplicitRequirement_OriginalCommandLine()
throws OptionsParsingException {
OptionsParser fakeStartupOptions =
- OptionsParser.newOptionsParser(BlazeServerStartupOptions.class);
- OptionsParser fakeCommandOptions = OptionsParser.newOptionsParser(TestOptions.class);
+ OptionsParser.builder().optionsClasses(BlazeServerStartupOptions.class).build();
+ OptionsParser fakeCommandOptions =
+ OptionsParser.builder().optionsClasses(TestOptions.class).build();
fakeCommandOptions.parse(
PriorityCategory.COMMAND_LINE,
"command line",
@@ -397,8 +413,9 @@
public void testOptionWithImplicitRequirement_CanonicalCommandLine()
throws OptionsParsingException {
OptionsParser fakeStartupOptions =
- OptionsParser.newOptionsParser(BlazeServerStartupOptions.class);
- OptionsParser fakeCommandOptions = OptionsParser.newOptionsParser(TestOptions.class);
+ OptionsParser.builder().optionsClasses(BlazeServerStartupOptions.class).build();
+ OptionsParser fakeCommandOptions =
+ OptionsParser.builder().optionsClasses(TestOptions.class).build();
fakeCommandOptions.parse(
PriorityCategory.COMMAND_LINE,
"command line",
@@ -426,7 +443,8 @@
@Test
public void testDefaultToolCommandLine() throws OptionsParsingException {
- OptionsParser parser = OptionsParser.newOptionsParser(CommonCommandOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(CommonCommandOptions.class).build();
ToolCommandLineEvent event = parser.getOptions(CommonCommandOptions.class).toolCommandLine;
// Test that the actual default value is an empty command line.
assertThat(event.asStreamProto(null).getStructuredCommandLine())
@@ -435,7 +453,8 @@
@Test
public void testLabelessParsingOfCompiledToolCommandLine() throws OptionsParsingException {
- OptionsParser parser = OptionsParser.newOptionsParser(CommonCommandOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(CommonCommandOptions.class).build();
CommandLine original =
CommandLine.newBuilder().addSections(CommandLineSection.getDefaultInstance()).build();
parser.parse(
@@ -451,7 +470,8 @@
@Test
public void testParsingOfCompiledToolCommandLine() throws OptionsParsingException {
- OptionsParser parser = OptionsParser.newOptionsParser(CommonCommandOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(CommonCommandOptions.class).build();
CommandLine original =
CommandLine.newBuilder()
.setCommandLineLabel("something meaningful")
@@ -491,7 +511,8 @@
@Test
public void testSimpleStringToolCommandLine() throws OptionsParsingException {
- OptionsParser parser = OptionsParser.newOptionsParser(CommonCommandOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(CommonCommandOptions.class).build();
parser.parse("--experimental_tool_command_line=The quick brown fox jumps over the lazy dog");
ToolCommandLineEvent event = parser.getOptions(CommonCommandOptions.class).toolCommandLine;
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/TestResultAnalyzerTest.java b/src/test/java/com/google/devtools/build/lib/runtime/TestResultAnalyzerTest.java
index 287e9e1..37cc797 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/TestResultAnalyzerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/TestResultAnalyzerTest.java
@@ -45,8 +45,10 @@
@Before
public final void createMocks() throws Exception {
- OptionsParser testSpecificOptions = OptionsParser.newOptionsParser(
- TestSummaryOptions.class, ExecutionOptions.class);
+ OptionsParser testSpecificOptions =
+ OptionsParser.builder()
+ .optionsClasses(TestSummaryOptions.class, ExecutionOptions.class)
+ .build();
EventBus mockBus = mock(EventBus.class);
underTest = new TestResultAnalyzer(
testSpecificOptions.getOptions(TestSummaryOptions.class),
diff --git a/src/test/java/com/google/devtools/common/options/BoolOrEnumConverterTest.java b/src/test/java/com/google/devtools/common/options/BoolOrEnumConverterTest.java
index a99a75e..ff92faa 100644
--- a/src/test/java/com/google/devtools/common/options/BoolOrEnumConverterTest.java
+++ b/src/test/java/com/google/devtools/common/options/BoolOrEnumConverterTest.java
@@ -16,7 +16,6 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.devtools.build.lib.testutil.MoreAsserts.assertThrows;
-import static com.google.devtools.common.options.OptionsParser.newOptionsParser;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -86,7 +85,8 @@
@Test
public void prefixedWithNo() throws OptionsParsingException {
- OptionsParser parser = newOptionsParser(CompilationModeTestOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(CompilationModeTestOptions.class).build();
parser.parse("--nocompile_mode");
CompilationModeTestOptions options =
parser.getOptions(CompilationModeTestOptions.class);
@@ -96,7 +96,8 @@
@Test
public void missingValueAsBoolConversion() throws OptionsParsingException {
- OptionsParser parser = newOptionsParser(CompilationModeTestOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(CompilationModeTestOptions.class).build();
parser.parse("--compile_mode");
CompilationModeTestOptions options =
parser.getOptions(CompilationModeTestOptions.class);
diff --git a/src/test/java/com/google/devtools/common/options/EnumConverterTest.java b/src/test/java/com/google/devtools/common/options/EnumConverterTest.java
index beb764b..12391c4 100644
--- a/src/test/java/com/google/devtools/common/options/EnumConverterTest.java
+++ b/src/test/java/com/google/devtools/common/options/EnumConverterTest.java
@@ -16,7 +16,6 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.devtools.build.lib.testutil.MoreAsserts.assertThrows;
-import static com.google.devtools.common.options.OptionsParser.newOptionsParser;
import java.util.List;
import org.junit.Test;
@@ -103,7 +102,8 @@
@Test
public void enumList() throws OptionsParsingException {
- OptionsParser parser = newOptionsParser(EnumListTestOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(EnumListTestOptions.class).build();
parser.parse("--goo=ALPHA", "--goo=BRAVO");
EnumListTestOptions options = parser.getOptions(EnumListTestOptions.class);
assertThat(options.goo).isNotNull();
diff --git a/src/test/java/com/google/devtools/common/options/InvocationPolicyEnforcerTestBase.java b/src/test/java/com/google/devtools/common/options/InvocationPolicyEnforcerTestBase.java
index 86f0112..2cecc91 100644
--- a/src/test/java/com/google/devtools/common/options/InvocationPolicyEnforcerTestBase.java
+++ b/src/test/java/com/google/devtools/common/options/InvocationPolicyEnforcerTestBase.java
@@ -56,8 +56,8 @@
policyProto.writeTo(out);
String policyBase64 = BaseEncoding.base64().encode(out.toByteArray());
- OptionsParser startupOptionsParser = OptionsParser.newOptionsParser(
- BlazeServerStartupOptions.class);
+ OptionsParser startupOptionsParser =
+ OptionsParser.builder().optionsClasses(BlazeServerStartupOptions.class).build();
String policyOption = "--invocation_policy=" + policyBase64;
startupOptionsParser.parse(policyOption);
@@ -71,7 +71,7 @@
@Before
public final void setParser() throws Exception {
- parser = OptionsParser.newOptionsParser(TestOptions.class);
+ parser = OptionsParser.builder().optionsClasses(TestOptions.class).build();
}
@BeforeClass
diff --git a/src/test/java/com/google/devtools/common/options/OptionsParserTest.java b/src/test/java/com/google/devtools/common/options/OptionsParserTest.java
index 142aeaf..0b6e311 100644
--- a/src/test/java/com/google/devtools/common/options/OptionsParserTest.java
+++ b/src/test/java/com/google/devtools/common/options/OptionsParserTest.java
@@ -16,7 +16,6 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.devtools.build.lib.testutil.MoreAsserts.assertThrows;
-import static com.google.devtools.common.options.OptionsParser.newOptionsParser;
import static java.util.Arrays.asList;
import static org.junit.Assert.fail;
@@ -68,7 +67,8 @@
public void errorsDuringConstructionAreWrapped() {
OptionsParser.ConstructionException e =
assertThrows(
- OptionsParser.ConstructionException.class, () -> newOptionsParser(BadOptions.class));
+ OptionsParser.ConstructionException.class,
+ () -> OptionsParser.builder().optionsClasses(BadOptions.class).build());
assertThat(e).hasCauseThat().isInstanceOf(DuplicateOptionDeclarationException.class);
}
@@ -209,7 +209,8 @@
@Test
public void parseWithMultipleOptionsInterfaces()
throws OptionsParsingException {
- OptionsParser parser = newOptionsParser(ExampleFoo.class, ExampleBaz.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExampleFoo.class, ExampleBaz.class).build();
parser.parse("--baz=oops", "--bar", "17");
ExampleFoo foo = parser.getOptions(ExampleFoo.class);
assertThat(foo.foo).isEqualTo("defaultFoo");
@@ -220,7 +221,7 @@
@Test
public void parseWithOptionsInheritance() throws OptionsParsingException {
- OptionsParser parser = newOptionsParser(ExampleBazSubclass.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExampleBazSubclass.class).build();
parser.parse("--baz_subclass=cat", "--baz=dog");
ExampleBazSubclass subclassOptions = parser.getOptions(ExampleBazSubclass.class);
assertThat(subclassOptions.bazSubclass).isEqualTo("cat");
@@ -233,7 +234,8 @@
@Test
public void parserWithUnknownOption() {
- OptionsParser parser = newOptionsParser(ExampleFoo.class, ExampleBaz.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExampleFoo.class, ExampleBaz.class).build();
OptionsParsingException e =
assertThrows(OptionsParsingException.class, () -> parser.parse("--unknown", "option"));
assertThat(e.getInvalidArgument()).isEqualTo("--unknown");
@@ -243,13 +245,15 @@
@Test
public void parserWithSingleDashOption_notAllowed() throws OptionsParsingException {
- OptionsParser parser = newOptionsParser(ExampleFoo.class, ExampleBaz.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExampleFoo.class, ExampleBaz.class).build();
assertThrows(OptionsParsingException.class, () -> parser.parse("-baz=oops", "-bar", "17"));
}
@Test
public void parsingFailsWithUnknownOptions() {
- OptionsParser parser = newOptionsParser(ExampleFoo.class, ExampleBaz.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExampleFoo.class, ExampleBaz.class).build();
List<String> unknownOpts = asList("--unknown", "option", "--more_unknowns");
OptionsParsingException e =
assertThrows(OptionsParsingException.class, () -> parser.parse(unknownOpts));
@@ -261,7 +265,8 @@
@Test
public void parsingFailsWithInternalBooleanOptionAsIfUnknown() {
- OptionsParser parser = newOptionsParser(ExampleInternalOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExampleInternalOptions.class).build();
List<String> internalOpts = asList("--internal_boolean");
OptionsParsingException e =
assertThrows(OptionsParsingException.class, () -> parser.parse(internalOpts));
@@ -272,7 +277,8 @@
@Test
public void parsingFailsWithNegatedInternalBooleanOptionAsIfUnknown() {
- OptionsParser parser = newOptionsParser(ExampleInternalOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExampleInternalOptions.class).build();
List<String> internalOpts = asList("--nointernal_boolean");
OptionsParsingException e =
assertThrows(OptionsParsingException.class, () -> parser.parse(internalOpts));
@@ -283,7 +289,8 @@
@Test
public void parsingFailsForInternalOptionWithValueInSameArgAsIfUnknown() {
- OptionsParser parser = newOptionsParser(ExampleInternalOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExampleInternalOptions.class).build();
List<String> internalOpts = asList("--internal_string=any_value");
OptionsParsingException e =
assertThrows(
@@ -297,7 +304,8 @@
@Test
public void parsingFailsForInternalOptionWithValueInSeparateArgAsIfUnknown() {
- OptionsParser parser = newOptionsParser(ExampleInternalOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExampleInternalOptions.class).build();
List<String> internalOpts = asList("--internal_string", "any_value");
OptionsParsingException e =
assertThrows(
@@ -311,7 +319,8 @@
@Test
public void parseKnownAndUnknownOptions() {
- OptionsParser parser = newOptionsParser(ExampleFoo.class, ExampleBaz.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExampleFoo.class, ExampleBaz.class).build();
List<String> opts = asList("--bar", "17", "--unknown", "option");
OptionsParsingException e =
assertThrows(OptionsParsingException.class, () -> parser.parse(opts));
@@ -324,7 +333,7 @@
@Test
public void parseAndOverrideWithEmptyStringToObtainNullValueInOption()
throws OptionsParsingException {
- OptionsParser parser = newOptionsParser(ExampleBoom.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExampleBoom.class).build();
// Override --boom value to the empty string
parser.parse("--boom=");
ExampleBoom boom = parser.getOptions(ExampleBoom.class);
@@ -356,14 +365,20 @@
public void getOptionsAndGetResidueWithNoCallToParse() {
// With no call to parse(), all options are at default values, and there's
// no reside.
- assertThat(newOptionsParser(ExampleFoo.class).getOptions(ExampleFoo.class).foo)
+ assertThat(
+ OptionsParser.builder()
+ .optionsClasses(ExampleFoo.class)
+ .build()
+ .getOptions(ExampleFoo.class)
+ .foo)
.isEqualTo("defaultFoo");
- assertThat(newOptionsParser(ExampleFoo.class).getResidue()).isEmpty();
+ assertThat(OptionsParser.builder().optionsClasses(ExampleFoo.class).build().getResidue())
+ .isEmpty();
}
@Test
public void parserCanBeCalledRepeatedly() throws OptionsParsingException {
- OptionsParser parser = newOptionsParser(ExampleFoo.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExampleFoo.class).build();
parser.parse("--foo", "foo1");
assertThat(parser.getOptions(ExampleFoo.class).foo).isEqualTo("foo1");
parser.parse();
@@ -374,7 +389,7 @@
@Test
public void multipleOccuringOption() throws OptionsParsingException {
- OptionsParser parser = newOptionsParser(ExampleFoo.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExampleFoo.class).build();
parser.parse("--bing", "abcdef", "--foo", "foo1", "--bing", "123456" );
assertThat(parser.getOptions(ExampleFoo.class).bing).containsExactly("abcdef", "123456");
}
@@ -383,7 +398,7 @@
public void multipleOccurringOptionWithConverter() throws OptionsParsingException {
// --bang is the same as --bing except that it has a "converter" specified.
// This test also tests option values with embedded commas and spaces.
- OptionsParser parser = newOptionsParser(ExampleFoo.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExampleFoo.class).build();
parser.parse("--bang", "abc,def ghi", "--foo", "foo1", "--bang", "123456" );
assertThat(parser.getOptions(ExampleFoo.class).bang).containsExactly("abc,def ghi", "123456");
}
@@ -391,7 +406,8 @@
@Test
public void parserIgnoresOptionsAfterMinusMinus()
throws OptionsParsingException {
- OptionsParser parser = newOptionsParser(ExampleFoo.class, ExampleBaz.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExampleFoo.class, ExampleBaz.class).build();
parser.parse("--foo", "well", "--baz", "here", "--", "--bar", "ignore");
ExampleFoo foo = parser.getOptions(ExampleFoo.class);
ExampleBaz baz = parser.getOptions(ExampleBaz.class);
@@ -403,7 +419,8 @@
@Test
public void parserThrowsExceptionIfResidueIsNotAllowed() {
- OptionsParser parser = newOptionsParser(false, ExampleFoo.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExampleFoo.class).allowResidue(false).build();
OptionsParsingException e =
assertThrows(
OptionsParsingException.class, () -> parser.parse("residue", "is", "not", "OK"));
@@ -412,7 +429,8 @@
@Test
public void multipleCallsToParse() throws Exception {
- OptionsParser parser = newOptionsParser(true, ExampleFoo.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExampleFoo.class).allowResidue(true).build();
parser.parse("--foo", "one", "--bar", "43", "unknown1");
parser.parse("--foo", "two", "unknown2");
ExampleFoo foo = parser.getOptions(ExampleFoo.class);
@@ -427,7 +445,8 @@
@Test
public void toStringDoesntIncludeFlagsForOtherOptionsInParserInstance()
throws Exception {
- OptionsParser parser = newOptionsParser(ExampleFoo.class, ExampleBaz.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExampleFoo.class, ExampleBaz.class).build();
parser.parse("--foo", "foo", "--bar", "43", "--baz", "baz");
String fooString = parser.getOptions(ExampleFoo.class).toString();
@@ -565,7 +584,8 @@
@Test
public void implicitDependencyHasImplicitDependency() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ImplicitDependencyOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ImplicitDependencyOptions.class).build();
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("--first=first"));
assertThat(parser.getOptions(ImplicitDependencyOptions.class).first).isEqualTo("first");
@@ -587,7 +607,8 @@
@Test
public void badImplicitDependency() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(BadImplicitDependencyOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(BadImplicitDependencyOptions.class).build();
try {
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("--first=first"));
@@ -611,7 +632,8 @@
@Test
public void badExpansionOptions() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(BadExpansionOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(BadExpansionOptions.class).build();
try {
parser.parse(OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("--first"));
} catch (AssertionError e) {
@@ -650,7 +672,7 @@
assertThrows(
"Should have failed due to null expansion function result",
OptionsParser.ConstructionException.class,
- () -> newOptionsParser(NullExpansionsOptions.class));
+ () -> OptionsParser.builder().optionsClasses(NullExpansionsOptions.class).build());
assertThat(e).hasCauseThat().isInstanceOf(NullPointerException.class);
assertThat(e).hasCauseThat().hasMessageThat().contains("null value in entry");
}
@@ -725,7 +747,7 @@
public void describeOptionsWithExpansion() throws Exception {
// We have to test this here rather than in OptionsTest because expansion functions require
// that an options parser be constructed.
- OptionsParser parser = OptionsParser.newOptionsParser(ExpansionOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExpansionOptions.class).build();
String usage =
parser.describeOptionsWithDeprecatedCategories(
ImmutableMap.<String, String>of(), OptionsParser.HelpVerbosity.LONG);
@@ -735,7 +757,7 @@
@Test
public void overrideExpansionWithExplicit() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ExpansionOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExpansionOptions.class).build();
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE,
null,
@@ -747,7 +769,7 @@
@Test
public void testExpansionOriginIsPropagatedToOption() throws OptionsParsingException {
- OptionsParser parser = OptionsParser.newOptionsParser(ExpansionOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExpansionOptions.class).build();
parser.parse(OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("--expands"));
OptionValueDescription expansionDescription = parser.getOptionValueDescription("expands");
assertThat(expansionDescription).isNotNull();
@@ -770,7 +792,7 @@
@Test
public void overrideExplicitWithExpansion() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ExpansionOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExpansionOptions.class).build();
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE,
null,
@@ -785,7 +807,7 @@
@Test
public void noWarningsWhenOverrideExplicitWithExpansion() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ExpansionOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExpansionOptions.class).build();
parser.parse(
OptionPriority.PriorityCategory.RC_FILE,
null,
@@ -800,7 +822,7 @@
@Test
public void noWarningsWhenValueNotChanged() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ExpansionOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExpansionOptions.class).build();
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE,
null,
@@ -816,7 +838,8 @@
// allow multiples.
@Test
public void multipleExpansionOptionsWithValue() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ExpansionMultipleOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExpansionMultipleOptions.class).build();
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE,
null,
@@ -831,7 +854,8 @@
@Test
public void checkExpansionValueWarning() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ExpansionMultipleOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExpansionMultipleOptions.class).build();
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE,
null,
@@ -847,7 +871,7 @@
@Test
public void overrideWithHigherPriority() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(NullTestOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(NullTestOptions.class).build();
parser.parse(OptionPriority.PriorityCategory.RC_FILE, null, Arrays.asList("--simple=a"));
assertThat(parser.getOptions(NullTestOptions.class).simple).isEqualTo("a");
parser.parse(OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("--simple=b"));
@@ -856,7 +880,7 @@
@Test
public void overrideWithLowerPriority() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(NullTestOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(NullTestOptions.class).build();
parser.parse(OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("--simple=a"));
assertThat(parser.getOptions(NullTestOptions.class).simple).isEqualTo("a");
parser.parse(OptionPriority.PriorityCategory.RC_FILE, null, Arrays.asList("--simple=b"));
@@ -865,20 +889,20 @@
@Test
public void getOptionValueDescriptionWithNonExistingOption() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(NullTestOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(NullTestOptions.class).build();
assertThrows(
IllegalArgumentException.class, () -> parser.getOptionValueDescription("notexisting"));
}
@Test
public void getOptionValueDescriptionWithoutValue() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(NullTestOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(NullTestOptions.class).build();
assertThat(parser.getOptionValueDescription("simple")).isNull();
}
@Test
public void getOptionValueDescriptionWithValue() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(NullTestOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(NullTestOptions.class).build();
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE,
"my description",
@@ -929,7 +953,8 @@
@Test
public void warningForImplicitOverridingExplicitOption() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ImplicitDependencyWarningOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ImplicitDependencyWarningOptions.class).build();
parser.parse("--second=second", "--first");
assertThat(parser.getWarnings())
.containsExactly(
@@ -939,7 +964,8 @@
@Test
public void warningForExplicitOverridingImplicitOption() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ImplicitDependencyWarningOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ImplicitDependencyWarningOptions.class).build();
parser.parse("--first");
assertThat(parser.getWarnings()).isEmpty();
parser.parse("--second=second");
@@ -951,7 +977,8 @@
@Test
public void warningForExplicitOverridingImplicitOptionInSameCall() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ImplicitDependencyWarningOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ImplicitDependencyWarningOptions.class).build();
parser.parse("--first", "--second=second");
assertThat(parser.getWarnings())
.containsExactly(
@@ -961,7 +988,8 @@
@Test
public void warningForImplicitOverridingImplicitOption() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ImplicitDependencyWarningOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ImplicitDependencyWarningOptions.class).build();
parser.parse("--first");
assertThat(parser.getWarnings()).isEmpty();
parser.parse("--third=third");
@@ -973,7 +1001,8 @@
@Test
public void noWarningsForNonConflictingOverrides() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ImplicitDependencyWarningOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ImplicitDependencyWarningOptions.class).build();
parser.parse("--first", "--second=requiredByFirst");
ImplicitDependencyWarningOptions options =
parser.getOptions(ImplicitDependencyWarningOptions.class);
@@ -984,7 +1013,8 @@
@Test
public void warningForImplicitRequirementsExpandedForDefaultValue() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ImplicitDependencyWarningOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ImplicitDependencyWarningOptions.class).build();
parser.parse("--nofirst");
ImplicitDependencyWarningOptions options =
parser.getOptions(ImplicitDependencyWarningOptions.class);
@@ -1001,7 +1031,8 @@
@Test
public void testDependentOriginIsPropagatedToOption() throws OptionsParsingException {
- OptionsParser parser = OptionsParser.newOptionsParser(ImplicitDependencyWarningOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ImplicitDependencyWarningOptions.class).build();
parser.parse(OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("--first"));
OptionValueDescription first = parser.getOptionValueDescription("first");
assertThat(first).isNotNull();
@@ -1055,7 +1086,9 @@
public void testCanonicalizeExcludesImplicitDependencyOnRepeatableOption()
throws OptionsParsingException {
OptionsParser parser =
- OptionsParser.newOptionsParser(ImplicitDependencyOnAllowMultipleOptions.class);
+ OptionsParser.builder()
+ .optionsClasses(ImplicitDependencyOnAllowMultipleOptions.class)
+ .build();
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE,
null,
@@ -1084,7 +1117,9 @@
public void testCanonicalizeExcludesImplicitDependencyForOtherwiseUnmentionedRepeatableOption()
throws OptionsParsingException {
OptionsParser parser =
- OptionsParser.newOptionsParser(ImplicitDependencyOnAllowMultipleOptions.class);
+ OptionsParser.builder()
+ .optionsClasses(ImplicitDependencyOnAllowMultipleOptions.class)
+ .build();
parser.parse(OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("--first"));
OptionValueDescription first = parser.getOptionValueDescription("first");
assertThat(first).isNotNull();
@@ -1148,21 +1183,21 @@
@Test
public void deprecationWarning() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(WarningOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(WarningOptions.class).build();
parser.parse(OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("--first"));
assertThat(parser.getWarnings()).isEqualTo(Arrays.asList("Option 'first' is deprecated"));
}
@Test
public void deprecationWarningForListOption() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(WarningOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(WarningOptions.class).build();
parser.parse(OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("--second=a"));
assertThat(parser.getWarnings()).isEqualTo(Arrays.asList("Option 'second' is deprecated"));
}
@Test
public void deprecationWarningForExpansionOption() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(WarningOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(WarningOptions.class).build();
parser.parse(OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("--third"));
assertThat(parser.getWarnings()).isEqualTo(Arrays.asList("Option 'third' is deprecated"));
assertThat(parser.getOptions(WarningOptions.class).fourth).isTrue();
@@ -1170,7 +1205,7 @@
@Test
public void deprecationWarningForAbbreviatedExpansionOption() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(WarningOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(WarningOptions.class).build();
parser.parse(OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("-t"));
assertThat(parser.getWarnings()).isEqualTo(Arrays.asList("Option 'third' is deprecated"));
assertThat(parser.getOptions(WarningOptions.class).fourth).isTrue();
@@ -1217,7 +1252,7 @@
@Test
public void newDeprecationWarning() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(NewWarningOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(NewWarningOptions.class).build();
parser.parse(OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("--first"));
assertThat(parser.getWarnings())
.isEqualTo(Arrays.asList("Option 'first' is deprecated: it's gone"));
@@ -1225,7 +1260,7 @@
@Test
public void newDeprecationWarningForListOption() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(NewWarningOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(NewWarningOptions.class).build();
parser.parse(OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("--second=a"));
assertThat(parser.getWarnings())
.isEqualTo(Arrays.asList("Option 'second' is deprecated: sorry, no replacement"));
@@ -1233,7 +1268,7 @@
@Test
public void newDeprecationWarningForExpansionOption() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(NewWarningOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(NewWarningOptions.class).build();
parser.parse(OptionPriority.PriorityCategory.COMMAND_LINE, null, Arrays.asList("--third"));
assertThat(parser.getWarnings())
.isEqualTo(Arrays.asList("Option 'third' is deprecated: use --forth instead"));
@@ -1270,7 +1305,8 @@
@Test
public void warningForExpansionOverridingExplicitOption() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ExpansionWarningOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExpansionWarningOptions.class).build();
parser.parse("--underlying=underlying", "--first");
assertThat(parser.getWarnings())
.containsExactly(
@@ -1280,7 +1316,8 @@
@Test
public void warningForTwoConflictingExpansionOptions() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ExpansionWarningOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExpansionWarningOptions.class).build();
parser.parse("--first", "--second");
assertThat(parser.getWarnings())
.containsExactly(
@@ -1353,7 +1390,8 @@
@Test
public void asListOfUnparsedOptions() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(IntrospectionExample.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(IntrospectionExample.class).build();
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE,
"source",
@@ -1391,7 +1429,8 @@
@Test
public void asListOfExplicitOptions() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(IntrospectionExample.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(IntrospectionExample.class).build();
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE,
"source",
@@ -1439,7 +1478,8 @@
@Test
public void asListOfEffectiveOptions() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(IntrospectionExample.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(IntrospectionExample.class).build();
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE,
"command line source",
@@ -1488,7 +1528,7 @@
// "--option from blazerc unexpectedly overrides --option from command line"
@Test
public void overrideListOptions() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ListExample.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ListExample.class).build();
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE,
"command line source",
@@ -1503,7 +1543,7 @@
@Test
public void testDashDash() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ExampleFoo.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ExampleFoo.class).build();
parser.parse(
PriorityCategory.COMMAND_LINE,
@@ -1518,7 +1558,7 @@
@Test
public void listOptionsHaveCorrectPriorities() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(ListExample.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(ListExample.class).build();
parser.parse(
PriorityCategory.COMMAND_LINE,
"command line source, part 1",
@@ -1565,7 +1605,8 @@
@Test
public void commaSeparatedOptionsWithAllowMultiple() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(CommaSeparatedOptionsExample.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(CommaSeparatedOptionsExample.class).build();
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE,
"command line source",
@@ -1581,7 +1622,8 @@
@Test
public void commaSeparatedListOptionsHaveCorrectPriorities() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(CommaSeparatedOptionsExample.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(CommaSeparatedOptionsExample.class).build();
parser.parse(
OptionPriority.PriorityCategory.COMMAND_LINE,
"command line source",
@@ -1671,7 +1713,8 @@
public static List<String> canonicalize(Class<? extends OptionsBase> optionsClass, String... args)
throws OptionsParsingException {
- OptionsParser parser = OptionsParser.newOptionsParser(false, optionsClass);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(optionsClass).allowResidue(false).build();
parser.parse(Arrays.asList(args));
return parser.canonicalize();
}
@@ -1790,7 +1833,7 @@
@Test
public void parseLong() throws OptionsParsingException {
- OptionsParser parser = newOptionsParser(LongValueExample.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(LongValueExample.class).build();
parser.parse("");
LongValueExample result = parser.getOptions(LongValueExample.class);
assertThat(result.longval).isEqualTo(2147483648L);
@@ -1807,7 +1850,7 @@
@Test
public void intOutOfBounds() {
- OptionsParser parser = newOptionsParser(LongValueExample.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(LongValueExample.class).build();
OptionsParsingException e =
assertThrows(OptionsParsingException.class, () -> parser.parse("--intval=2147483648"));
assertThat(e).hasMessageThat().contains("'2147483648' is not an int");
@@ -1826,13 +1869,13 @@
@Test
public void testOldName() throws OptionsParsingException {
- OptionsParser parser = newOptionsParser(OldNameExample.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(OldNameExample.class).build();
parser.parse("--old_name=foo");
OldNameExample result = parser.getOptions(OldNameExample.class);
assertThat(result.flag).isEqualTo("foo");
// Should also work by its new name.
- parser = newOptionsParser(OldNameExample.class);
+ parser = OptionsParser.builder().optionsClasses(OldNameExample.class).build();
parser.parse("--new_name=foo");
result = parser.getOptions(OldNameExample.class);
assertThat(result.flag).isEqualTo("foo");
@@ -1858,7 +1901,8 @@
@Test
public void testBooleanUnderscorePrefixError() {
- OptionsParser parser = newOptionsParser(ExampleBooleanFooOptions.class);
+ OptionsParser parser =
+ OptionsParser.builder().optionsClasses(ExampleBooleanFooOptions.class).build();
OptionsParsingException e =
assertThrows(
"--no_foo should fail to parse.",
@@ -1994,7 +2038,7 @@
@Test
public void serializable() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(CoreTypesOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(CoreTypesOptions.class).build();
parser.parse("--foo=true", "--bar=xyz");
CoreTypesOptions options = parser.getOptions(CoreTypesOptions.class);
@@ -2013,10 +2057,10 @@
public void stableSerialization() throws Exception {
// Construct options two different ways to get the same result, and confirm that the serialized
// representation is identical.
- OptionsParser parser1 = OptionsParser.newOptionsParser(CoreTypesOptions.class);
+ OptionsParser parser1 = OptionsParser.builder().optionsClasses(CoreTypesOptions.class).build();
parser1.parse("--foo=true", "--bar=xyz");
CoreTypesOptions options1 = parser1.getOptions(CoreTypesOptions.class);
- OptionsParser parser2 = OptionsParser.newOptionsParser(CoreTypesOptions.class);
+ OptionsParser parser2 = OptionsParser.builder().optionsClasses(CoreTypesOptions.class).build();
parser2.parse("--bar=abc", "--foo=1");
CoreTypesOptions options2 = parser2.getOptions(CoreTypesOptions.class);
options2.bar = "xyz";
@@ -2067,7 +2111,7 @@
@Test
public void getOptionsCompletionShouldFilterUndocumentedOptions() throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(CompletionOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(CompletionOptions.class).build();
assertThat(parser.getOptionsCompletion().split("\n"))
.isEqualTo(new String[] {"--a", "--noa", "--b", "--nob"});
}
@@ -2091,7 +2135,9 @@
assertThrows(
NullPointerException.class,
() ->
- OptionsParser.newOptionsParser(CompletionOptions.class)
+ OptionsParser.builder()
+ .optionsClasses(CompletionOptions.class)
+ .build()
.visitOptions(predicate, visitor));
assertThat(ex).hasMessageThat().isEqualTo(expectedMessage);
}
@@ -2112,7 +2158,7 @@
List<String> names = new ArrayList<>();
Consumer<OptionDefinition> visitor = option -> names.add(option.getOptionName());
- OptionsParser parser = OptionsParser.newOptionsParser(CompletionOptions.class);
+ OptionsParser parser = OptionsParser.builder().optionsClasses(CompletionOptions.class).build();
parser.visitOptions(predicate, visitor);
return names;