Groovy 2.1.0 Released!

Groovy 2.1.0 has been released today. This release comes with important additions for DSL authors, third party libraries and improved IDE support. Here are the changes as announced at Greach by Guillaume Laforge today [0]:

  • complete invoke dynamic support when running with the “indy” JAR on JDK 7
  • @DelegatesTo annotation: to help IDEs and the static type checker and compiler to know that method calls in a method parameter closure are delegated to another parameter of the method — nice for DSLs like in Gradle build files
  • custom type checking extensions: so you can type check your DSLs at compile-time with your own logic
  • a meta-annotation system: which allows you to define a new annotation actually combining several others — which also means being able to apply several AST transformations with a single custom annotation
  • compiler configuration script: to let you define various configuration options for the Groovy compiler, like specifying custom file extensions, various compilation customizers to apply, etc.
    compilation customizer builder: a special builder for specifying compilation customizers

I’ve decided to cover the most important features in separate blog posts:

Groovy 2.1: Type Checking Extensions
Groovy 2.1: The @AnnotationCollector Annotation
Groovy 2.1: groovyc -configscript
Groovy 2.1: The @DelegatesTo Annotation

If you wanna get in touch with 2.1 you can either download it at [1] or – and that is a way better alternative – use GVM, the Groovy enVironment Manager [2].

Keep on Groovying’ :-)

[0] Groovy 2.1 Release Notes
[1] Groovy 2.1.0 Download
[2] GVM – The Groovy enVironment Manager

About andresteingress

I am working as Groovy & Grails freelance developer in Linz, Austria. I enjoy making music, working on GContracts, committing to the Groovy programming language and writing blog posts on various JVM related topics.
This entry was posted in announcement, groovy. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>