From c9ab0808f008a976220475fff19aee72d6839292 Mon Sep 17 00:00:00 2001 From: ccalvarin Date: Tue, 19 Dec 2017 12:23:17 -0800 Subject: Remove wrapper options support. RELNOTES: None. PiperOrigin-RevId: 179588174 GitOrigin-RevId: 16f1c19c2c4f68555bb23891e3a4da4d5ac4a68d Change-Id: I089b4b2e4c846682db552aa4c0e0905142e9278b --- .../common/options/processor/OptionProcessor.java | 29 ---------------------- 1 file changed, 29 deletions(-) (limited to 'java/com/google/devtools/common/options/processor/OptionProcessor.java') diff --git a/java/com/google/devtools/common/options/processor/OptionProcessor.java b/java/com/google/devtools/common/options/processor/OptionProcessor.java index fd7c023..76b9640 100644 --- a/java/com/google/devtools/common/options/processor/OptionProcessor.java +++ b/java/com/google/devtools/common/options/processor/OptionProcessor.java @@ -476,10 +476,6 @@ public final class OptionProcessor extends AbstractProcessor { } if (isExpansion || hasImplicitRequirements) { - if (annotation.wrapperOption()) { - throw new OptionProcessorException( - optionField, "Wrapper options cannot have expansions or implicit requirements."); - } if (annotation.allowMultiple()) { throw new OptionProcessorException( optionField, @@ -488,30 +484,6 @@ public final class OptionProcessor extends AbstractProcessor { } } - /** - * Some flags wrap other flags. They are objectively useless, as there is no difference between - * passing --wrapper=--foo and --foo other than the "source" information tracked. This - * functionality comes from requiring compatibility at some past point in time, but is actively - * being deprecated. No non-deprecated flag can use this feature. - */ - private void checkWrapperOptions(VariableElement optionField) throws OptionProcessorException { - Option annotation = optionField.getAnnotation(Option.class); - if (annotation.wrapperOption()) { - if (annotation.deprecationWarning().isEmpty()) { - throw new OptionProcessorException( - optionField, - "Can't have non deprecated wrapper options, this feature is deprecated. " - + "Please add a deprecationWarning."); - } - if (!ImmutableList.copyOf(annotation.metadataTags()).contains(OptionMetadataTag.DEPRECATED)) { - throw new OptionProcessorException( - optionField, - "Can't have non deprecated wrapper options, this feature is deprecated. " - + "Please add the metadata tag DEPRECATED."); - } - } - } - @Override public boolean process(Set annotations, RoundEnvironment roundEnv) { for (Element annotatedElement : roundEnv.getElementsAnnotatedWith(Option.class)) { @@ -528,7 +500,6 @@ public final class OptionProcessor extends AbstractProcessor { checkConverter(optionField); checkEffectTagRationality(optionField); checkMetadataTagAndCategoryRationality(optionField); - checkWrapperOptions(optionField); } catch (OptionProcessorException e) { error(e.getElementInError(), e.getMessage()); } -- cgit v1.2.3 From 84e656e907d9ec9cc152359c56cdd676de581dfa Mon Sep 17 00:00:00 2001 From: cushon Date: Thu, 29 Mar 2018 11:21:27 -0700 Subject: Support source versions newer than 8 in Bazel's annotation processors This quiets some build warnings. PiperOrigin-RevId: 190958692 GitOrigin-RevId: eef80048e2c59e3be974144ce9cd90b9f90294fb Change-Id: Ibf4e681bfc1ef540c2012df32d2970ed71240e65 --- .../google/devtools/common/options/processor/OptionProcessor.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'java/com/google/devtools/common/options/processor/OptionProcessor.java') diff --git a/java/com/google/devtools/common/options/processor/OptionProcessor.java b/java/com/google/devtools/common/options/processor/OptionProcessor.java index 76b9640..5190053 100644 --- a/java/com/google/devtools/common/options/processor/OptionProcessor.java +++ b/java/com/google/devtools/common/options/processor/OptionProcessor.java @@ -36,7 +36,6 @@ import javax.annotation.processing.Messager; import javax.annotation.processing.ProcessingEnvironment; import javax.annotation.processing.RoundEnvironment; import javax.annotation.processing.SupportedAnnotationTypes; -import javax.annotation.processing.SupportedSourceVersion; import javax.lang.model.SourceVersion; import javax.lang.model.element.AnnotationMirror; import javax.lang.model.element.Element; @@ -74,7 +73,6 @@ import javax.tools.Diagnostic; *

These properties can be relied upon at runtime without additional checks. */ @SupportedAnnotationTypes({"com.google.devtools.common.options.Option"}) -@SupportedSourceVersion(SourceVersion.RELEASE_8) public final class OptionProcessor extends AbstractProcessor { private Types typeUtils; @@ -83,6 +81,11 @@ public final class OptionProcessor extends AbstractProcessor { private ImmutableMap> defaultConverters; private ImmutableMap, PrimitiveType> primitiveTypeMap; + @Override + public SourceVersion getSupportedSourceVersion() { + return SourceVersion.latestSupported(); + } + @Override public synchronized void init(ProcessingEnvironment processingEnv) { super.init(processingEnv); -- cgit v1.2.3 From 72ad6666b99ce7f2bc604cb25515fd0f41b56d60 Mon Sep 17 00:00:00 2001 From: jcater Date: Fri, 20 Apr 2018 04:04:06 -0700 Subject: Remove use of bare Immutable{List,Map,Set} Builder classes. Always use the more-qualified class name for clarity at the site of use. There are too many classes named Builder. PiperOrigin-RevId: 193649193 GitOrigin-RevId: 96d3c91c714544584c9174759bedebf2a6be5e71 Change-Id: I0c9cf0ab619bc743cd15ba63ad7355e008c0f1d1 --- .../google/devtools/common/options/processor/OptionProcessor.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'java/com/google/devtools/common/options/processor/OptionProcessor.java') diff --git a/java/com/google/devtools/common/options/processor/OptionProcessor.java b/java/com/google/devtools/common/options/processor/OptionProcessor.java index 5190053..0f1989c 100644 --- a/java/com/google/devtools/common/options/processor/OptionProcessor.java +++ b/java/com/google/devtools/common/options/processor/OptionProcessor.java @@ -15,7 +15,6 @@ package com.google.devtools.common.options.processor; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableMap.Builder; import com.google.devtools.common.options.Converter; import com.google.devtools.common.options.Converters; import com.google.devtools.common.options.ExpansionFunction; @@ -96,11 +95,12 @@ public final class OptionProcessor extends AbstractProcessor { // Because of the discrepancies between the java.lang and javax.lang type models, we can't // directly use the get() method for the default converter map. Instead, we'll convert it once, // to be more usable, and with the boxed type return values of convert() as the keys. - ImmutableMap.Builder> converterMapBuilder = new Builder<>(); + ImmutableMap.Builder> converterMapBuilder = + new ImmutableMap.Builder<>(); // Create a link from the primitive Classes to their primitive types. This intentionally // only contains the types in the DEFAULT_CONVERTERS map. - ImmutableMap.Builder, PrimitiveType> builder = new Builder<>(); + ImmutableMap.Builder, PrimitiveType> builder = new ImmutableMap.Builder<>(); builder.put(int.class, typeUtils.getPrimitiveType(TypeKind.INT)); builder.put(double.class, typeUtils.getPrimitiveType(TypeKind.DOUBLE)); builder.put(boolean.class, typeUtils.getPrimitiveType(TypeKind.BOOLEAN)); -- cgit v1.2.3 From ac50274742dc9431da2669348102ad5f0cf200aa Mon Sep 17 00:00:00 2001 From: jcater Date: Tue, 1 May 2018 20:33:18 -0700 Subject: Clean up code that directly imports nested classes like Builder, Entry, etc. PiperOrigin-RevId: 195040539 GitOrigin-RevId: 0a57d3dcb1cc014d65dbeb604035bb34a7191e29 Change-Id: I78ff7b0f225fbdcdeed44145fe0e28ffc0e4c197 --- .../com/google/devtools/common/options/processor/OptionProcessor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'java/com/google/devtools/common/options/processor/OptionProcessor.java') diff --git a/java/com/google/devtools/common/options/processor/OptionProcessor.java b/java/com/google/devtools/common/options/processor/OptionProcessor.java index 0f1989c..485efcd 100644 --- a/java/com/google/devtools/common/options/processor/OptionProcessor.java +++ b/java/com/google/devtools/common/options/processor/OptionProcessor.java @@ -26,7 +26,7 @@ import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParsingException; import java.util.List; -import java.util.Map.Entry; +import java.util.Map; import java.util.Set; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -107,7 +107,7 @@ public final class OptionProcessor extends AbstractProcessor { builder.put(long.class, typeUtils.getPrimitiveType(TypeKind.LONG)); primitiveTypeMap = builder.build(); - for (Entry, Converter> entry : Converters.DEFAULT_CONVERTERS.entrySet()) { + for (Map.Entry, Converter> entry : Converters.DEFAULT_CONVERTERS.entrySet()) { Class converterClass = entry.getKey(); String typeName = converterClass.getCanonicalName(); TypeElement typeElement = elementUtils.getTypeElement(typeName); -- cgit v1.2.3