[
https://issues.apache.org/jira/browse/GROOVY-7492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul King updated GROOVY-7492:
------------------------------
Labels: experimental incubating (was: experimental)
> 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)