[ 
https://issues.apache.org/jira/browse/GROOVY-7492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17193971#comment-17193971
 ] 

Paul King edited comment on GROOVY-7492 at 9/11/20, 3:33 AM:
-------------------------------------------------------------

Proposed PR merged. As Jochen points out, more needs to be done before this 
will be particularly interesting, hence the {{@Incubating}} status.


was (Author: paulk):
Proposed PR merged.

> Groovy should allow CompileStatic classes to not implement GroovyObject
> -----------------------------------------------------------------------
>
>                 Key: GROOVY-7492
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7492
>             Project: Groovy
>          Issue Type: New Feature
>            Reporter: Paul King
>            Assignee: Paul King
>            Priority: Major
>              Labels: experimental, incubating
>             Fix For: 4.0.0-alpha-1
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Groovy's powerful AST transformation capabilities are extremely useful even 
> in mostly Java projects but the fact that generated classes implement 
> GroovyObject means that Groovy must be on the classpath when using any of the 
> generated artifacts. This proposed new feature allows an opt-out {{@POJO}} 
> marker interface which still applies Groovy's AST transforms but then leaves 
> them in a much more Java-like state. The mechanism currently is only enabled 
> when using @CompileStatic since it produces Java-like code. This opens up 
> some of Groovy's powerful transforms to the wider Java community. Groovy can 
> effectively be used as a Lombok-style pre-processor for some Java classes. 
> Note that this is still an experimental feature - it isn't guaranteed at this 
> stage to always produce code which is free from any Groovy jar dependency. As 
> an example, @Immutable for instance might require the Groovy jar. We might 
> also consider producing some trivial size jar if we can't remove all usages 
> of Groovy code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to