diff options
author | 2017-04-19 01:15:45 +0200 | |
---|---|---|
committer | 2017-04-19 10:49:05 +0200 | |
commit | 5d1042629e94e278dcc49db5f640829acc3bff1a (patch) | |
tree | 9ad5bf5968ddfe9d6f1dc21a27aba170e84faf11 /src/main/java/com/google/devtools/common/options/OptionsParser.java | |
parent | 5d761ecc6d337bceda68df38781589e2c11967b4 (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.java | 39 |
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))}. |