Message-ID: <2075633229.794788.1386747149354.JavaMail.firstname.lastname@example.org> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_794787_1799936353.1386747149354" ------=_Part_794787_1799936353.1386747149354 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
In addition to the official Groovy news below, you may also want= to check out=20
Hot on the heels of the release of our new major release of Groovy 2.2.0= , we're delivering a first bug fix release with Groovy 2.2.1.
As a refresher, be sure to have a look at the release notes for= Groovy 2.2.0 to remember the various improvements and en= hancements that got integrated.
Some fixes didn't make it in the RC phase, and additional further fixes = appeared upon wider usage of 2.2.0 in the wild. Those fixes cover various a= reas, such as issues with Groovysh, a couple VerifyErrors, some fixes to ou= r AST transformations, a problem with the new implicit closure coercion mec= hanism. For more details, you can have a look at the full JIRA release notes.
And go download Groovy 2.2.1!
Thanks a lot for your attention and your contributions.=20
This is with great pleasure that the Groovy team is announcing today the= release of Groovy 2.2, the latest version of the Groovy p= rogramming language.
Groovy 2.2 features:
Then download Groovy 2.2 while it's hot!
Thanks a lot to all the users, contributors, developers who contributed = to that release!=20
The Groovy team is happy to announce the release of the release = candidate of Groovy 2.2, as well as a bug-fix release for = Groovy 2.1.8.
As you can guess with this release candidate, the final version of Groov= y 2.2 is fast approaching, and we'd be happy to get as much feedback on thi= s release as possible, to squash potential bugs before the general availabi= lity of 2.2. So please be sure to test your applications with this = release candidate.
For both releases, we've made a small update to the default Grab configu= ration which is to use Bintray's JCenter repository as the first in the cha= in of resolvers, as Bintray's JCenter repository is noticeably faster and m= ore responsive than Maven Central, offers dependencies always with their ch= ecksums, and stores and caches dependencies it wouldn't have for faster del= ivery the next time a dependency is required. This should make your scripts= relying on @Grab faster when downloading dependencies for the first t= ime.
An interesting feature in the release candidate only is the ability for = scripts to define their base script class. All scripts usually extend the <= a href=3D"http://groovy.codehaus.org/api/groovy/lang/Script.html" class=3D"= external-link" rel=3D"nofollow">groovy.lang.Script abstract class, but = it's possible to set up our own base script class extending Script through = CompilerCon= figuration. A new AST transformation is introduced in Groovy 2.2 which = allows you to define the base script class as follows:
Again for 2.2, a new @Log variant has been added to support Log4j2,= with the @Log4j2 AST transformation:
For more details on those two releases, please have a look at the releas= e notes on JIRA:
Thanks a lot for your contributions to those releases, in terms of bug r= eports, discussions on the mailing-lists, code contributions and pull reque= sts!
Keep on groovy'ing!
The Groovy team is happy to announce the releases of the second = beta of Groovy 2.2, along with a bug fix release of Groovy= 2.1.7.
We're close to moving towards RC mode for the upcoming Groovy 2.2 releas= e, and we'd be happy to hear about your feedback about this new ver= sion when used in your projects. Please have a moment to test it a= gainst your code, and tell us if you notice any problem or regression.
Groovy 2.2.0-beta-2 is pretty much feature complete by now, with only a = few minor improvements, and both 2.2.0-beta-2 and 2.1.7 contain a great dea= l of bug fixes around our static type checker and compilation support.
You can have a look at the JIRA release notes for the details:
Those two Groovy versions are available in the download ar= ea of the website.
Thanks a lot to all those who contributed to this release, and we're loo= king forward to hearing your feedback about the upcoming 2.2!
We'd also be happy to see you at next week's SpringOne2GX conference if you're around! So don't h= esitate to come and say hi to the Groovy team members who will be present = =E2=80=94 and there are quite a few of us there!
The Groovy development team is pleased to announce the
Both Groovy 2.1.6 and 2.2.0-beta-1 contain fixes for the recently = discovered <= span style=3D"color: rgb(17,85,204);text-decoration: underline;">JavaDoc vu= lnerability, that also affected GroovyDoc.
Let me highlight a few interesting points in this 2.2 beta.=
Java 8 will feature lambdas, which are similar to Groovy=E2=80=99s= closures. One particular aspect which is interesting with lambdas is how t= hey are converted transparently by Java to interface types that contain one= single abstract method. With Groovy closures, except for a few cases, we h= ave to explicitly use the as operator to do the coercion. In Groovy 2.2, we= are allowing the same tr= ansparent closure coercion to happen, but without the expl= icit as type coercion, and furthermore, we make it possible to work as well= with abstract classes as well.
Notice how the closure is coerced into a Predicate instance. Witho= ut that new capabilities, we would have had to write the following instead:=
That way, Groovy closure coercion to SAM types is as concise as Java 8 l= ambda closure convertion.
Similarly to our Closure memoization capability, you can now annot= ate your methods with the new @Memoized annotation. It will use the same underly= ing cache solution used for closures, and will cache the result of previous= executions of the annotated method with the same entry parameters.<= /p>
With the CompilerConfiguration class that you pass to GroovyShell = (as well as GroovyClassLoader and others), you can define a base script cla= ss for the scripts that will be compiled with that shell. It=E2=80=99s hand= y to share common methods to all scripts.
For DSL purposes, it=E2=80=99s interesting to actually delegate th= e method calls and unbound variable assignments to a different object than = the script itself, thanks to the new DelegatingScript.
To make it more concrete, let=E2=80=99s have a look at the followi= ng configuration script:
The @DelegatesTo annotation, introduced in Groovy 2.1 that helps t= he type checker, IDEs, tools, to provide better support for DSLs using clos= ure delegation strategies, works with generics token types as well. You can tell= Groovy that the delegatee is of the type of the generics component:=
Note the genericTypeIndex attribute of @DelegatesTo that points at= the index of the generic component. Unfortunately, as the generic placehol= ders are not kept at the bytecode level, it=E2=80=99s impossible to just re= ference T, and we had to use an index to point at the right type.
The static type checking extensions introduced in Groovy 2.1 were =
working solely with non-compiled scripts. But with this beta, you can also =
specify a fully-qualified name of the precompiled class implementing your extension
Groovysh has been expanded with various enhancements:
support for code completion in various places, like imports, pack= age names, class names, variable names, parameter names, keywords, etc.
a doc com=
mand allows you to open the relevant JavaDoc and Groovy GD=
K web pages to have more information for a given class, for example try in =
you can c= omplete file names inside strings, particularly handy for = your scripting tasks where you want to open a file with new Fi= le("data.|=E2=80=9D) (where the pipe character is the pos= ition of your cursor), and then hit the TAB key to have the completion of t= he file name
If you=E2=80=99re using Groovy in the context of an OSGi container= , the Groovy JARs contained the right OSGi metadata information in its mani= fest. However, it wasn=E2=80=99t the case for the =E2=80=9Cinvoke dynamic= =E2=80=9D JARs, as the underlying library used by the Gradle OSGi plugin wa= sn=E2=80=99t supporting JDK 7 bytecode. Fortunately, this deficiency has be= en fixed, the Gradle OSGi plugin updated, and we=E2=80=99re now able to hav= e our =E2=80=9Cindy=E2=80=9D JARs work fine under OSGi has well.
Those changes have not yet been backported to the Groovy 2.1.x bra= nch, but will likely be. We=E2=80=99re looking forward to hearing your feed= back, for those using Groovy and OSGi.
For more details about the various bug fixed in those releases, pl= ease have a look at the JIRA release notes:
And then, go download Groovy 2.2-beta-1 and Groovy 2.1.6 on our = span>Download area while it's hot!
Thanks a lot for all your contributions, and we=E2=80=99re looking= forward to your feedback on those releases.
I'm pleased to announce the release of Groovy 2.1.5.
Groovy 2.1.5 is a bug fix release of the Groovy 2.1 branch. In particula= r, it fixes a problem we've encountered with Groo= vy 2.1.4 where the extension module descriptors were not found in the "= ;all" JAR, which meant that the usual nice GDK methods extensions for = XML and other modules were not found by Groovy.
Thanks to all who contributed to this release!
Keep on groovy'ing!=20
The Groovy development team is pleased to announce the release o= f Groovy 2.1.4.
Groovy 2.1.4 is essentially a bug fix release of our 2.1 branch, and you= can dive into the details in our JIRA release notes.
You can get the distribution in our download area.<= /p>
Thanks a lot to all those who contributed to this release, and we're loo= king forward to hearing your feedback!=20
Read more News on the Groovy Blog=20
Syndicate this site via RSS