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.champ...@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....@gmail.com
<mailto:mr.andersson....@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.