This is an automated email from the ASF dual-hosted git repository. zregvart pushed a commit to branch java-10-test in repository https://gitbox.apache.org/repos/asf/camel.git
commit ef209d6e33bfd91fb678851a2bdd5f95426b4cb2 Author: Zoran Regvart <zregv...@apache.org> AuthorDate: Mon Jul 16 10:46:23 2018 +0200 CAMEL-12618: Support APT on Java 11 With this the annotation processors support the latest Java source version thus enabling them to work on Java >8. Also renames two classes that are not annotation processors so the distinction can be seen from the class name. --- ...ationProcessor.java => CoreEipAnnotationProcessorHelper.java} | 2 +- .../org/apache/camel/tools/apt/EndpointAnnotationProcessor.java | 6 +++++- .../org/apache/camel/tools/apt/ModelAnnotationProcessor.java | 9 ++++++--- ...tationProcessor.java => SpringAnnotationProcessorHelper.java} | 7 +------ 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java similarity index 99% rename from tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessor.java rename to tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java index 4b66859..1849903 100644 --- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessor.java +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java @@ -59,7 +59,7 @@ import static org.apache.camel.tools.apt.helper.Strings.safeNull; /** * Process all camel-core's model classes (EIPs and DSL) and generate json schema documentation */ -public class CoreEipAnnotationProcessor { +public class CoreEipAnnotationProcessorHelper { // special when using expression/predicates in the model private static final String ONE_OF_TYPE_NAME = "org.apache.camel.model.ExpressionSubElementDefinition"; diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java index bd603a7..76e2225 100644 --- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java @@ -70,7 +70,6 @@ import static org.apache.camel.tools.apt.helper.Strings.isNullOrEmpty; * Processes all Camel {@link UriEndpoint}s and generate json schema documentation for the endpoint/component. */ @SupportedAnnotationTypes({"org.apache.camel.spi.*"}) -@SupportedSourceVersion(SourceVersion.RELEASE_8) public class EndpointAnnotationProcessor extends AbstractProcessor { // CHECKSTYLE:OFF @@ -94,6 +93,11 @@ public class EndpointAnnotationProcessor extends AbstractProcessor { return true; } + @Override + public SourceVersion getSupportedSourceVersion() { + return SourceVersion.latest(); + } + private void processEndpointClass(final RoundEnvironment roundEnv, final TypeElement classElement) { final UriEndpoint uriEndpoint = classElement.getAnnotation(UriEndpoint.class); if (uriEndpoint != null) { diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/ModelAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/ModelAnnotationProcessor.java index c226b2e..ee14fe7 100644 --- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/ModelAnnotationProcessor.java +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/ModelAnnotationProcessor.java @@ -33,11 +33,10 @@ import static org.apache.camel.tools.apt.helper.Strings.canonicalClassName; * APT compiler plugin to generate JSon Schema for all EIP models and camel-spring's <camelContext> types. */ @SupportedAnnotationTypes({"javax.xml.bind.annotation.*", "org.apache.camel.spi.Label"}) -@SupportedSourceVersion(SourceVersion.RELEASE_8) public class ModelAnnotationProcessor extends AbstractProcessor { - private CoreEipAnnotationProcessor coreProcessor = new CoreEipAnnotationProcessor(); - private SpringAnnotationProcessor springProcessor = new SpringAnnotationProcessor(); + private CoreEipAnnotationProcessorHelper coreProcessor = new CoreEipAnnotationProcessorHelper(); + private SpringAnnotationProcessorHelper springProcessor = new SpringAnnotationProcessorHelper(); @Override public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { @@ -68,4 +67,8 @@ public class ModelAnnotationProcessor extends AbstractProcessor { return true; } + @Override + public SourceVersion getSupportedSourceVersion() { + return SourceVersion.latest(); + } } \ No newline at end of file diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java similarity index 98% rename from tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessor.java rename to tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java index d7357cd..01ca8f8 100644 --- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessor.java +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java @@ -24,9 +24,6 @@ import java.util.Set; import java.util.TreeSet; 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.ElementKind; import javax.lang.model.element.Modifier; import javax.lang.model.element.TypeElement; @@ -56,9 +53,7 @@ import static org.apache.camel.tools.apt.helper.Strings.safeNull; /** * Process camel-spring's <camelContext> and generate json schema documentation */ -@SupportedAnnotationTypes({"javax.xml.bind.annotation.*", "org.apache.camel.spi.Label"}) -@SupportedSourceVersion(SourceVersion.RELEASE_8) -public class SpringAnnotationProcessor { +public class SpringAnnotationProcessorHelper { protected void processModelClass(final ProcessingEnvironment processingEnv, final RoundEnvironment roundEnv, final TypeElement classElement) { final String javaTypeName = canonicalClassName(classElement.getQualifiedName().toString());