aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar ccalvarin <ccalvarin@google.com>2017-05-31 23:03:08 +0200
committerGravatar László Csomor <laszlocsomor@google.com>2017-06-01 14:08:48 +0200
commitca600bf2d014650b1f1ecb5214878b09a0838086 (patch)
tree283a3f4fbb49c99654aa52627eb1a6b22a5d60e9 /src
parent105a47e0634cb348dd6ded5327e33f3b2b6ac5a9 (diff)
Remove support of --no_ prefix for boolean flags.
The no_ prefix was initially undocumented, but its support has over time lead to a number of inconsistencies. RELNOTES: --no_ prefix no longer recognized. PiperOrigin-RevId: 157631435
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/common/options/IsolatedOptionsData.java2
-rw-r--r--src/main/java/com/google/devtools/common/options/OptionsParserImpl.java8
-rw-r--r--src/test/java/com/google/devtools/common/options/OptionsParserTest.java17
3 files changed, 8 insertions, 19 deletions
diff --git a/src/main/java/com/google/devtools/common/options/IsolatedOptionsData.java b/src/main/java/com/google/devtools/common/options/IsolatedOptionsData.java
index 81820c47d9..c68dad087d 100644
--- a/src/main/java/com/google/devtools/common/options/IsolatedOptionsData.java
+++ b/src/main/java/com/google/devtools/common/options/IsolatedOptionsData.java
@@ -354,11 +354,9 @@ public class IsolatedOptionsData extends OpaqueOptionsData {
Map<String, String> booleanAliasMap,
String optionName) {
// Check that the negating alias does not conflict with existing flags.
- checkForCollisions(nameToFieldMap, "no_" + optionName, "boolean option alias");
checkForCollisions(nameToFieldMap, "no" + optionName, "boolean option alias");
// Record that the boolean option takes up additional namespace for its negating alias.
- booleanAliasMap.put("no_" + optionName, optionName);
booleanAliasMap.put("no" + optionName, optionName);
}
diff --git a/src/main/java/com/google/devtools/common/options/OptionsParserImpl.java b/src/main/java/com/google/devtools/common/options/OptionsParserImpl.java
index a4d905a547..f80f1baf11 100644
--- a/src/main/java/com/google/devtools/common/options/OptionsParserImpl.java
+++ b/src/main/java/com/google/devtools/common/options/OptionsParserImpl.java
@@ -619,15 +619,7 @@ class OptionsParserImpl {
// Look for a "no"-prefixed option name: "no<optionName>".
if (field == null && name.startsWith("no")) {
- // Give a nice error if someone is using the deprecated --no_ prefix.
- // TODO(Bazel-team): Remove the --no_ check when sufficient time has passed for users of
- // that feature to have stopped using it.
name = name.substring(2);
- if (name.startsWith("_") && optionsData.getFieldFromName(name.substring(1)) != null) {
- name = name.substring(1);
- warnings.add("Option '" + name + "' is specified using the deprecated --no_ prefix. "
- + "Use --no without the underscore instead.");
- }
field = optionsData.getFieldFromName(name);
booleanValue = false;
if (field != null) {
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 b122aba5b0..91de13774f 100644
--- a/src/test/java/com/google/devtools/common/options/OptionsParserTest.java
+++ b/src/test/java/com/google/devtools/common/options/OptionsParserTest.java
@@ -1586,16 +1586,15 @@ public class OptionsParserTest {
}
@Test
- public void testBooleanUnderscorePrefixError() throws OptionsParsingException {
- OptionsParser parser = newOptionsParser(ExampleBooleanFooOptions.class);
- parser.parse("--no_foo");
- ExampleBooleanFooOptions result = parser.getOptions(ExampleBooleanFooOptions.class);
- assertThat(result.foo).isFalse();
- List<String> warning = parser.getWarnings();
- assertThat(warning).hasSize(1);
- assertThat(warning.get(0)).contains("Option 'foo' is specified using the deprecated "
- + "--no_ prefix. Use --no without the underscore instead");
+ public void testBooleanUnderscorePrefixError() {
+ try {
+ OptionsParser parser = newOptionsParser(ExampleBooleanFooOptions.class);
+ parser.parse("--no_foo");
+ fail("--no_foo should fail to parse.");
+ } catch (OptionsParsingException e) {
+ assertThat(e).hasMessageThat().contains("Unrecognized option: --no_foo");
+ }
}
public static class WrapperOptionExample extends OptionsBase {