aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/common/options/OptionsParser.java
diff options
context:
space:
mode:
authorGravatar ccalvarin <ccalvarin@google.com>2017-04-19 01:15:45 +0200
committerGravatar Klaus Aehlig <aehlig@google.com>2017-04-19 10:49:05 +0200
commit5d1042629e94e278dcc49db5f640829acc3bff1a (patch)
tree9ad5bf5968ddfe9d6f1dc21a27aba170e84faf11 /src/main/java/com/google/devtools/common/options/OptionsParser.java
parent5d761ecc6d337bceda68df38781589e2c11967b4 (diff)
Deprecate use of option category to describe documentation level / usage restrictions.
Prevent the old category strings "undocumented," "hidden," or "internal" from being used as categories, to prevent developers from relying on deprecated behavior. PiperOrigin-RevId: 153525499
Diffstat (limited to 'src/main/java/com/google/devtools/common/options/OptionsParser.java')
-rw-r--r--src/main/java/com/google/devtools/common/options/OptionsParser.java39
1 files changed, 7 insertions, 32 deletions
diff --git a/src/main/java/com/google/devtools/common/options/OptionsParser.java b/src/main/java/com/google/devtools/common/options/OptionsParser.java
index 9574a90162..a871fd18e2 100644
--- a/src/main/java/com/google/devtools/common/options/OptionsParser.java
+++ b/src/main/java/com/google/devtools/common/options/OptionsParser.java
@@ -444,8 +444,7 @@ public class OptionsParser implements OptionsProvider {
}
private OptionUsageRestrictions optionUsageRestrictions() {
- Option option = field.getAnnotation(Option.class);
- return OptionsParser.documentationLevel(option);
+ return field.getAnnotation(Option.class).optionUsageRestrictions();
}
public boolean isDocumented() {
@@ -556,12 +555,12 @@ public class OptionsParser implements OptionsProvider {
if (description == null) {
description = "Options category '" + category + "'";
}
- if (documentationLevel(option) == OptionUsageRestrictions.DOCUMENTED) {
+ if (option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {
desc.append("\n").append(description).append(":\n");
}
}
- if (documentationLevel(option) == OptionUsageRestrictions.DOCUMENTED) {
+ if (option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {
OptionsUsage.getUsage(optionField, desc, helpVerbosity, impl.getOptionsData());
}
}
@@ -594,8 +593,8 @@ public class OptionsParser implements OptionsProvider {
for (Field optionField : allFields) {
Option option = optionField.getAnnotation(Option.class);
String category = option.category();
- OptionUsageRestrictions level = documentationLevel(option);
- if (!category.equals(prevCategory) && level == OptionUsageRestrictions.DOCUMENTED) {
+ if (!category.equals(prevCategory)
+ && option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {
String description = categoryDescriptions.get(category);
if (description == null) {
description = "Options category '" + category + "'";
@@ -608,7 +607,7 @@ public class OptionsParser implements OptionsProvider {
prevCategory = category;
}
- if (level == OptionUsageRestrictions.DOCUMENTED) {
+ if (option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {
OptionsUsage.getUsageHtml(optionField, desc, escaper, impl.getOptionsData());
}
}
@@ -642,7 +641,7 @@ public class OptionsParser implements OptionsProvider {
});
for (Field optionField : allFields) {
Option option = optionField.getAnnotation(Option.class);
- if (documentationLevel(option) == OptionUsageRestrictions.DOCUMENTED) {
+ if (option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {
OptionsUsage.getCompletion(optionField, desc);
}
}
@@ -674,30 +673,6 @@ public class OptionsParser implements OptionsProvider {
return impl.getOptionValueDescription(name);
}
- @Deprecated
- // TODO(b/37353610) the old convention was to include documentation level in the category(),
- // which is still permitted for backwards compatibility. The enum field should be used for any new
- // options, as the old category, and this function, will be removed.
- public static OptionUsageRestrictions documentationLevel(Option option) {
- // Until all options use the new documentationLabel attribute of an option, only rely on it if
- // it is not set to the default value.
- if (option.optionUsageRestrictions() != OptionUsageRestrictions.DOCUMENTED) {
- return option.optionUsageRestrictions();
- }
-
- // Otherwise, continue reading from the category.
- String category = option.category();
- if ("undocumented".equals(category)) {
- return OptionUsageRestrictions.UNDOCUMENTED;
- } else if ("hidden".equals(category)) {
- return OptionUsageRestrictions.HIDDEN;
- } else if ("internal".equals(category)) {
- return OptionUsageRestrictions.INTERNAL;
- } else {
- return OptionUsageRestrictions.DOCUMENTED;
- }
- }
-
/**
* A convenience method, equivalent to
* {@code parse(OptionPriority.COMMAND_LINE, null, Arrays.asList(args))}.