diff options
author | cushon <cushon@google.com> | 2018-01-31 12:10:15 -0800 |
---|---|---|
committer | Ron Shapiro <shapiro.rd@gmail.com> | 2018-01-31 18:22:53 -0500 |
commit | 53d1d2add95db44e034b1a4fc7d47fc214957066 (patch) | |
tree | f87f467a0a63c9375e82283cc9ba14c9ef190291 | |
parent | 48437ca80dfea8fdba0f3f9ae8fd2d1b992f2a4b (diff) | |
download | auto-53d1d2add95db44e034b1a4fc7d47fc214957066.tar.gz |
Fix handling of @Generated in tests after 715b8eb505649a4acaaa5889d4f4b51a91dd8a91, 0383c1cf7472d7444463353aa2ac956c9471130a
RELNOTES=N/A
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=184027387
-rw-r--r-- | value/src/it/functional/src/test/java/com/google/auto/value/gwt/GwtCompilationTest.java | 8 | ||||
-rw-r--r-- | value/src/main/java/com/google/auto/value/processor/AutoOneOfProcessor.java | 2 | ||||
-rw-r--r-- | value/src/test/java/com/google/auto/value/processor/AutoAnnotationCompilationTest.java | 11 | ||||
-rw-r--r-- | value/src/test/java/com/google/auto/value/processor/AutoOneOfCompilationTest.java | 4 | ||||
-rw-r--r-- | value/src/test/java/com/google/auto/value/processor/CompilationTest.java | 7 | ||||
-rw-r--r-- | value/src/test/java/com/google/auto/value/processor/ExtensionTest.java | 5 | ||||
-rw-r--r-- | value/src/test/java/com/google/auto/value/processor/GeneratedImport.java (renamed from value/src/test/java/com/google/auto/value/processor/GeneratedImportRule.java) | 24 | ||||
-rw-r--r-- | value/src/test/java/com/google/auto/value/processor/PropertyAnnotationsTest.java | 5 |
8 files changed, 19 insertions, 47 deletions
diff --git a/value/src/it/functional/src/test/java/com/google/auto/value/gwt/GwtCompilationTest.java b/value/src/it/functional/src/test/java/com/google/auto/value/gwt/GwtCompilationTest.java index 970cc597..2ce9de8d 100644 --- a/value/src/it/functional/src/test/java/com/google/auto/value/gwt/GwtCompilationTest.java +++ b/value/src/it/functional/src/test/java/com/google/auto/value/gwt/GwtCompilationTest.java @@ -20,10 +20,9 @@ import static com.google.testing.compile.Compiler.javac; import com.google.auto.value.processor.AutoValueProcessor; import com.google.testing.compile.Compilation; -import com.google.testing.compile.CompilationRule; import com.google.testing.compile.JavaFileObjects; +import javax.lang.model.SourceVersion; import javax.tools.JavaFileObject; -import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -44,8 +43,6 @@ public class GwtCompilationTest { "}" ); - @Rule public final CompilationRule compilationRule = new CompilationRule(); - /** * Test where the serialized properties don't include generics, so no {@code @SuppressWarnings} * annotation is needed. We explicitly check that one is not included anyway, because Eclipse for @@ -342,7 +339,6 @@ public class GwtCompilationTest { } private boolean isJavaxAnnotationProcessingGeneratedAvailable() { - return compilationRule.getElements().getTypeElement("javax.annotation.processing.Generated") - != null; + return SourceVersion.latestSupported().compareTo(SourceVersion.RELEASE_8) > 0; } } diff --git a/value/src/main/java/com/google/auto/value/processor/AutoOneOfProcessor.java b/value/src/main/java/com/google/auto/value/processor/AutoOneOfProcessor.java index f0b3f9ff..1a594623 100644 --- a/value/src/main/java/com/google/auto/value/processor/AutoOneOfProcessor.java +++ b/value/src/main/java/com/google/auto/value/processor/AutoOneOfProcessor.java @@ -250,7 +250,7 @@ public class AutoOneOfProcessor extends AutoValueOrOneOfProcessor { ImmutableSet<ExecutableElement> propertyMethods, ExecutableElement kindGetter) { vars.generated = - generatedAnnotation(elementUtils()) + generatedAnnotation(elementUtils(), processingEnv.getSourceVersion()) .map(annotation -> TypeEncoder.encode(annotation.asType())) .orElse(""); Map<ExecutableElement, ImmutableList<AnnotationMirror>> annotatedPropertyMethods = diff --git a/value/src/test/java/com/google/auto/value/processor/AutoAnnotationCompilationTest.java b/value/src/test/java/com/google/auto/value/processor/AutoAnnotationCompilationTest.java index e155a3c1..7698d015 100644 --- a/value/src/test/java/com/google/auto/value/processor/AutoAnnotationCompilationTest.java +++ b/value/src/test/java/com/google/auto/value/processor/AutoAnnotationCompilationTest.java @@ -33,7 +33,6 @@ import javax.tools.JavaCompiler; import javax.tools.JavaFileManager; import javax.tools.JavaFileObject; import javax.tools.ToolProvider; -import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -44,8 +43,6 @@ import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class AutoAnnotationCompilationTest { - @Rule public final GeneratedImportRule generatedImportRule = new GeneratedImportRule(); - @Test public void testSimple() { JavaFileObject myAnnotationJavaFile = JavaFileObjects.forSourceLines( @@ -89,7 +86,7 @@ public class AutoAnnotationCompilationTest { "", "import com.example.annotations.MyAnnotation;", "import com.example.enums.MyEnum;", - generatedImportRule.importGeneratedAnnotationType(), + GeneratedImport.importGeneratedAnnotationType(), "", "@Generated(\"" + AutoAnnotationProcessor.class.getName() + "\")", "final class AutoAnnotation_AnnotationFactory_newMyAnnotation implements MyAnnotation {", @@ -166,7 +163,7 @@ public class AutoAnnotationCompilationTest { JavaFileObject expectedOutput = JavaFileObjects.forSourceLines( "AutoAnnotation_AnnotationFactory_newMyAnnotation", - generatedImportRule.importGeneratedAnnotationType(), + GeneratedImport.importGeneratedAnnotationType(), "", "@Generated(\"" + AutoAnnotationProcessor.class.getName() + "\")", "final class AutoAnnotation_AnnotationFactory_newMyAnnotation implements MyAnnotation {", @@ -242,7 +239,7 @@ public class AutoAnnotationCompilationTest { "", "import com.example.annotations.MyAnnotation;", "import java.util.Arrays;", - generatedImportRule.importGeneratedAnnotationType(), + GeneratedImport.importGeneratedAnnotationType(), "", "@Generated(\"" + AutoAnnotationProcessor.class.getName() + "\")", "final class AutoAnnotation_AnnotationFactory_newMyAnnotation implements MyAnnotation {", @@ -346,7 +343,7 @@ public class AutoAnnotationCompilationTest { "import java.util.Collection;", "import java.util.List;", "import java.util.Set;", - generatedImportRule.importGeneratedAnnotationType(), + GeneratedImport.importGeneratedAnnotationType(), "", "@Generated(\"" + AutoAnnotationProcessor.class.getName() + "\")", "final class AutoAnnotation_AnnotationFactory_newMyAnnotation implements MyAnnotation {", diff --git a/value/src/test/java/com/google/auto/value/processor/AutoOneOfCompilationTest.java b/value/src/test/java/com/google/auto/value/processor/AutoOneOfCompilationTest.java index 95c95a00..5fc1ce6f 100644 --- a/value/src/test/java/com/google/auto/value/processor/AutoOneOfCompilationTest.java +++ b/value/src/test/java/com/google/auto/value/processor/AutoOneOfCompilationTest.java @@ -34,8 +34,6 @@ import org.junit.runners.JUnit4; public class AutoOneOfCompilationTest { @Rule public final Expect expect = Expect.create(); - @Rule - public final GeneratedImportRule generatedImportRule = new GeneratedImportRule(); @Test public void success() { @@ -67,7 +65,7 @@ public class AutoOneOfCompilationTest { "foo.bar.AutoOneOf_TaskResult", "package foo.bar;", "", - generatedImportRule.importGeneratedAnnotationType(), + GeneratedImport.importGeneratedAnnotationType(), "", "@Generated(\"com.google.auto.value.processor.AutoOneOfProcessor\")", "final class AutoOneOf_TaskResult {", diff --git a/value/src/test/java/com/google/auto/value/processor/CompilationTest.java b/value/src/test/java/com/google/auto/value/processor/CompilationTest.java index e29f1439..c30d8845 100644 --- a/value/src/test/java/com/google/auto/value/processor/CompilationTest.java +++ b/value/src/test/java/com/google/auto/value/processor/CompilationTest.java @@ -50,7 +50,6 @@ import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class CompilationTest { @Rule public final Expect expect = Expect.create(); - @Rule public final GeneratedImportRule generatedImportRule = new GeneratedImportRule(); @Test public void simpleSuccess() { @@ -77,7 +76,7 @@ public class CompilationTest { "foo.bar.AutoValue_Baz", "package foo.bar;", "", - generatedImportRule.importGeneratedAnnotationType(), + GeneratedImport.importGeneratedAnnotationType(), "", "@Generated(\"" + AutoValueProcessor.class.getName() + "\")", "final class AutoValue_Baz extends Baz {", @@ -156,7 +155,7 @@ public class CompilationTest { "package foo.bar;", "", "import java.util.Arrays;", - generatedImportRule.importGeneratedAnnotationType(), + GeneratedImport.importGeneratedAnnotationType(), "", "@Generated(\"" + AutoValueProcessor.class.getName() + "\")", "final class AutoValue_Baz extends Baz {", @@ -840,7 +839,7 @@ public class CompilationTest { "import java.util.Arrays;", "import java.util.List;", sorted( - generatedImportRule.importGeneratedAnnotationType(), + GeneratedImport.importGeneratedAnnotationType(), "import javax.annotation.Nullable;"), "", "@Generated(\"" + AutoValueProcessor.class.getName() + "\")", diff --git a/value/src/test/java/com/google/auto/value/processor/ExtensionTest.java b/value/src/test/java/com/google/auto/value/processor/ExtensionTest.java index c0aac69e..5d473489 100644 --- a/value/src/test/java/com/google/auto/value/processor/ExtensionTest.java +++ b/value/src/test/java/com/google/auto/value/processor/ExtensionTest.java @@ -49,7 +49,6 @@ import javax.lang.model.util.Elements; import javax.tools.Diagnostic; import javax.tools.JavaFileObject; import javax.tools.StandardLocation; -import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -57,8 +56,6 @@ import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class ExtensionTest { - @Rule public final GeneratedImportRule generatedImportRule = new GeneratedImportRule(); - @Test public void testExtensionCompilation() throws Exception { @@ -112,7 +109,7 @@ public class ExtensionTest { "foo.bar.$AutoValue_Baz", "package foo.bar;", "", - generatedImportRule.importGeneratedAnnotationType(), + GeneratedImport.importGeneratedAnnotationType(), "", "@Generated(\"com.google.auto.value.processor.AutoValueProcessor\")", " abstract class $AutoValue_Baz extends Baz {", diff --git a/value/src/test/java/com/google/auto/value/processor/GeneratedImportRule.java b/value/src/test/java/com/google/auto/value/processor/GeneratedImport.java index 0502ae10..a445b018 100644 --- a/value/src/test/java/com/google/auto/value/processor/GeneratedImportRule.java +++ b/value/src/test/java/com/google/auto/value/processor/GeneratedImport.java @@ -15,27 +15,20 @@ */ package com.google.auto.value.processor; -import com.google.testing.compile.CompilationRule; -import javax.lang.model.util.Elements; -import org.junit.rules.TestRule; -import org.junit.runner.Description; -import org.junit.runners.model.Statement; +import javax.lang.model.SourceVersion; /** - * Test rule that allows compile-testing tests to know which {@code @Generated} annotation is + * Utility methods for compile-testing tests to know which {@code @Generated} annotation is * available. */ -final class GeneratedImportRule implements TestRule { - - private final CompilationRule compilationRule = new CompilationRule(); +final class GeneratedImport { /** * Returns the qualified name of the {@code @Generated} annotation available during a compilation * task. */ - String generatedAnnotationType() { - Elements elements = compilationRule.getElements(); - return elements.getTypeElement("javax.annotation.processing.Generated") != null + static String generatedAnnotationType() { + return SourceVersion.latestSupported().compareTo(SourceVersion.RELEASE_8) > 0 ? "javax.annotation.processing.Generated" : "javax.annotation.Generated"; } @@ -44,12 +37,7 @@ final class GeneratedImportRule implements TestRule { * Returns an {@code import} statement that imports the {@code @Generated} annotation {@linkplain * #generatedAnnotationType() available during a compilation task}. */ - String importGeneratedAnnotationType() { + static String importGeneratedAnnotationType() { return "import " + generatedAnnotationType() + ";"; } - - @Override - public Statement apply(Statement base, Description description) { - return compilationRule.apply(base, description); - } } diff --git a/value/src/test/java/com/google/auto/value/processor/PropertyAnnotationsTest.java b/value/src/test/java/com/google/auto/value/processor/PropertyAnnotationsTest.java index 43fdf274..ed428a17 100644 --- a/value/src/test/java/com/google/auto/value/processor/PropertyAnnotationsTest.java +++ b/value/src/test/java/com/google/auto/value/processor/PropertyAnnotationsTest.java @@ -24,7 +24,6 @@ import com.google.testing.compile.JavaFileObjects; import java.lang.annotation.Inherited; import java.util.List; import javax.tools.JavaFileObject; -import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -97,8 +96,6 @@ public class PropertyAnnotationsTest { @Inherited public @interface InheritedAnnotation {} - @Rule public final GeneratedImportRule generatedImportRule = new GeneratedImportRule(); - private JavaFileObject sourceCode(List<String> imports, List<String> annotations) { ImmutableList<String> list = ImmutableList.<String>builder() .add( @@ -131,7 +128,7 @@ public class PropertyAnnotationsTest { String nullable = annotations.contains("@Nullable") ? "@Nullable " : ""; ImmutableSortedSet<String> allImports = ImmutableSortedSet.<String>naturalOrder() - .add(generatedImportRule.importGeneratedAnnotationType()) + .add(GeneratedImport.importGeneratedAnnotationType()) .addAll(imports) .build(); ImmutableList<String> list = ImmutableList.<String>builder() |