From 6530fbc66c699ebbbdde505d6f694cace7db728b Mon Sep 17 00:00:00 2001 From: ccalvarin Date: Fri, 30 Mar 2018 08:40:44 -0700 Subject: Remove category checking from incompatible changes. String categories are deprecated, replace this special-cased value with a specific OptionMetadata tag, TRIGGERED_BY_ALL_INCOMPATIBLE_CHANGES. RELNOTES: None. PiperOrigin-RevId: 191069412 GitOrigin-RevId: 78a5fcff8a311c71cfe163a40856f7413e346409 Change-Id: I1be6e8a8c592e0fa8ec29a631957d840f34a2113 --- .../com/google/devtools/common/options/OptionDefinition.java | 2 +- .../devtools/common/options/OptionFilterDescriptions.java | 3 +++ .../google/devtools/common/options/OptionMetadataTag.java | 12 +++++++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/java/com/google/devtools/common/options/OptionDefinition.java b/java/com/google/devtools/common/options/OptionDefinition.java index 7b87744..e89234b 100644 --- a/java/com/google/devtools/common/options/OptionDefinition.java +++ b/java/com/google/devtools/common/options/OptionDefinition.java @@ -137,7 +137,7 @@ public class OptionDefinition implements Comparable { } /** {@link Option#expansionFunction()} ()} */ - Class getExpansionFunction() { + public Class getExpansionFunction() { return optionAnnotation.expansionFunction(); } diff --git a/java/com/google/devtools/common/options/OptionFilterDescriptions.java b/java/com/google/devtools/common/options/OptionFilterDescriptions.java index 2a7999d..4b4373a 100644 --- a/java/com/google/devtools/common/options/OptionFilterDescriptions.java +++ b/java/com/google/devtools/common/options/OptionFilterDescriptions.java @@ -169,6 +169,9 @@ public class OptionFilterDescriptions { OptionMetadataTag.DEPRECATED, "This option is deprecated. It might be that the feature it affects is deprecated, " + "or that another method of supplying the information is preferred.") + .put( + OptionMetadataTag.TRIGGERED_BY_ALL_INCOMPATIBLE_CHANGES, + "This option is triggered by the expansion option --all_incompatible_changes.") .put( OptionMetadataTag.HIDDEN, // Here for completeness, these options are UNDOCUMENTED. "This option should not be used by a user, and should not be logged.") diff --git a/java/com/google/devtools/common/options/OptionMetadataTag.java b/java/com/google/devtools/common/options/OptionMetadataTag.java index c511fa6..563aa3e 100644 --- a/java/com/google/devtools/common/options/OptionMetadataTag.java +++ b/java/com/google/devtools/common/options/OptionMetadataTag.java @@ -55,7 +55,17 @@ public enum OptionMetadataTag { * *

These should be in category {@code OptionDocumentationCategory.UNDOCUMENTED}. */ - INTERNAL(4); + INTERNAL(4), + + /** + * Options that are triggered by --all_incompatible_changes. + * + *

These must also be labelled {@link OptionMetadataTag#INCOMPATIBLE_CHANGE} and have the + * prefix --incompatible_. Note that the option name prefix is also a triggering case for the + * --all_incompatible_changes expansion, and so all options that start with the "incompatible_" + * prefix must have this tag. + */ + TRIGGERED_BY_ALL_INCOMPATIBLE_CHANGES(5); private final int value; -- cgit v1.2.3