groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mr Andersson <>
Subject Re: Is it possible to enable CompileStatic for an entire project
Date Tue, 21 Jun 2016 16:31:44 GMT

On 06/21/2016 02:38 PM, Winnebeck, Jason wrote:
> Tying Cédric’s advice to your previous question about gmavenplus and 
> joint compilation, per 
> you 
> add the configuration tag with a reference to your groovy script.
> Actually about 90+% of our code base in Groovy is CompileStatic I 
> wonder if we should use that. Cédric, if we use the config script 
> method, is it still possible to use the “skip” annotation to switch 
> back to dynamic mode? Even if it worked, I highly doubt IntelliJ IDEA 
> would know about it and think all files are dynamic typing so probably 
> it’s still best for us to add @CompileStatic everywhere, but sometimes 
> we forget where we wanted it. The performance difference is extreme 
> when we forget it, on a certain class we missed recently it took our 
> page rendering times from about 4ms to 52ms, so for us it’s an actual 
> “bug” to forget to add @CompileStatic.

Not to mention the fact that if you wish to enforce it across the 
organisation, you can't rely on start misusing the dynamic nature of 

Therefore, a default CompileStatic setting and a CompileDynamic 
annotation and you could track all of the dynamic usages easily in your 
editor. A missing CompileStatic is difficult to track.
> Jason
> *From:*Cédric Champeau []
> *Sent:* Tuesday, June 21, 2016 8:29 AM
> *To:*
> *Subject:* Re: Is it possible to enable CompileStatic for an entire 
> project
> It's in the docs: 
> 2016-06-21 14:24 GMT+02:00 Mr Andersson < 
> <>>:
>     Is it possible to enable CompileStatic for an entire project?
>     Or do you have to do it on a per class basis?
>     I like Groovy for some of it's features, and mostly for it's close
>     to Java syntax but I would really like it to be a static language.
>     I've heard about Groovy++ but I believe that's dead by now, no?
>     Question is wether you can tell the Groovy compiler with a flag to
>     treat all Groovy classes on certain paths as static?
>     Preferable doable from ANT too.
> ------------------------------------------------------------------------
> This email message and any attachments are for the sole use of the 
> intended recipient(s). Any unauthorized review, use, disclosure or 
> distribution is prohibited. If you are not the intended recipient, 
> please contact the sender by reply email and destroy all copies of the 
> original message and any attachments.

View raw message