You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Leonard Brünings (JIRA)" <ji...@apache.org> on 2018/09/26 18:51:01 UTC

[jira] [Created] (GROOVY-8814) AnnotationCollector not removed during stub generation

Leonard Brünings created GROOVY-8814:
----------------------------------------

             Summary: AnnotationCollector not removed during stub generation
                 Key: GROOVY-8814
                 URL: https://issues.apache.org/jira/browse/GROOVY-8814
             Project: Groovy
          Issue Type: Bug
          Components: Stub generator / Joint compiler
    Affects Versions: 2.5.2, 2.4.15
            Reporter: Leonard Brünings
         Attachments: groovy-stubs-annotation.zip

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}}
{code:title=Groovy Source}
@CompileStatic
class Service {

  @CompileDynamic
  List<String> dynamic() {
    []
  }
}
{code}
gets transformed into
{code:java|title=Generated Stub}
@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;}
}
{code}
 

See attached Project to reproduce

For groovy 2.4.15: {{./mvnw clean install}}

For groovy 2.5.2: {{./mvnw clean install -Pgroovy-2.5}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)