groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Keegan Witt <keeganw...@gmail.com>
Subject Re: Is it possible to enable CompileStatic for an entire project
Date Wed, 22 Jun 2016 01:55:02 GMT
Besides the example page, I have an integration test (
https://github.com/groovy/GMavenPlus/tree/master/src/it/configScriptCompile)
making sure this functionality works.  If you'd like, I'm willing to help
with your pom.

-Keegan

On Tue, Jun 21, 2016 at 12:37 PM, Mr Andersson <mr.andersson.002@gmail.com>
wrote:

>
>
> 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.
>
> I also mentioned that I could not get Gmavenplus to work, but maybe i did
> something wrong. But I literally copied and pasted that section.
>
>
>
> 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.
>
>
> The problem with  the ANT task is that I don't think I can set classpath
> argumetns to the actual so passing the config location is a problem that
> needs be resolved. Not that easy with maven.
>
> *Groovy should instead provide a default GroovyStatic-2.4.4.jar* file
> that enables this by default. That way everybody wins, and Groovy could
> join the club of static languages and not get rejected by those that needs
> to get Groovy.
>
> It is also messy to set up config files for every maven module, although I
> am not sure. The code in that config file is also not dynamic.
>
> withConfig(configuration) { ast(groovy.transform.CompileStatic) } and a
> simple option -compileStatic that uses an internal version of that file is
> preferable and *SIMPLER*.
>
> groovyc -configscript src/conf/config.groovy src/main/groovy/MyClass.groovy
>
> Is not needed here.
>
>
>
>
> Jason
>
>
>
> *From:* Cédric Champeau [mailto:cedric.champeau@gmail.com
> <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>
> 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>:
>
> 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