groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mr Andersson <mr.andersson....@gmail.com>
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 
> https://github.com/groovy/GMavenPlus/wiki/Examples#configuration-script 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 
Groovy.

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 [mailto:cedric.champeau@gmail.com]
> *Sent:* Tuesday, June 21, 2016 8:29 AM
> *To:* users@groovy.apache.org
> *Subject:* Re: Is it possible to enable CompileStatic for an entire 
> project
>
> It's in the docs: 
> http://docs.groovy-lang.org/latest/html/documentation/#_static_compilation_by_default
>
> 2016-06-21 14:24 GMT+02:00 Mr Andersson <mr.andersson.002@gmail.com 
> <mailto:mr.andersson.002@gmail.com>>:
>
>     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.


Mime
View raw message