diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansion.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansion.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansion.java b/src/main/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansion.java index 9e26da0633..3f7a193cd3 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansion.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansion.java @@ -21,6 +21,7 @@ import com.google.devtools.common.options.IsolatedOptionsData; import com.google.devtools.common.options.Option; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; +import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Map; @@ -132,6 +133,11 @@ public class AllIncompatibleChangesExpansion implements ExpansionFunction { if (!annotation.category().equals(INCOMPATIBLE_CATEGORY)) { throw new IllegalArgumentException(prefix + "must have category \"incompatible changes\""); } + if (!ImmutableList.copyOf(annotation.metadataTags()) + .contains(OptionMetadataTag.INCOMPATIBLE_CHANGE)) { + throw new IllegalArgumentException( + prefix + "must have metadata tag \"OptionMetadataTag.INCOMPATIBLE_CHANGE\""); + } if (!IsolatedOptionsData.isExpansionOption(annotation)) { if (!field.getType().equals(Boolean.TYPE)) { throw new IllegalArgumentException( |