Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.4.15, 2.5.2
-
None
Description
The Groovy Stubs generator leaves the AnnotationCollectors in the generator stubs sources instead of replacing them with the collected annotations, which in turn causes javac to fail, since they are not valid annotations. (Related to GROOVY-7056)
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project example: Compilation failure
[ERROR] /C:/dev/github/groovy-stubs-annotation/target/generated-sources/groovy-stubs/main/org/example/Service.java:[19,18] incompatible types: groovy.transform.CompileDynamic cannot be converted to java.lang.annotation.Annotation
@CompileStatic class Service { @CompileDynamic List<String> dynamic() { [] } }
gets transformed into
@groovy.transform.CompileStatic() public class Service extends java.lang.Object implements groovy.lang.GroovyObject { @groovy.transform.CompileDynamic() public java.util.List<java.lang.String> dynamic() { return (java.util.List<java.lang.String>)null;} }
See attached Project to reproduce
For groovy 2.4.15: ./mvnw clean install
For groovy 2.5.2: ./mvnw clean install -Pgroovy-2.5