I would prefer to have a codenarc rule enforcing @CompileStatic for projects requiring it that way.
On Tue, Jun 21, 2016 at 2:38 PM, Winnebeck, Jason <[email protected]> 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. > > > > Jason > > > > From: Cédric Champeau [mailto:[email protected]] > Sent: Tuesday, June 21, 2016 8:29 AM > To: [email protected] > 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 <[email protected]>: > > 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.
