Grails Diary - Week 38 in 2015 - SpringOne2gx Edition

21 September 2015

This last week has been filled with the SpringOne2gx conference, which this diary is heavily influenced by, but there are still a lot of news from other sources.

The quality of talks at the conference was high, especially on the Groovy Ecosystem tracks. Cedric did a superb job explaining the internals of the Groovy Compiler, Ben Muschko shared his knowledge on Gradle plugins best practices and Jeff Scott demoed Grails 3 as a foundation for RESTfull webservices microservices as my highlight (amongst many). It might sometimes feel like the 2GX part of the conference is a second class citizen (late tweets on talks, not all talks recorded etc.), but the Groovy Ecosystem does not seem to care.

At the Groovy/Grails Birds of a Feather Session, Marco Vermulen presented the state of the union on the Sdkman project (formerly GVM), and made the official release of 3.0 - and the renaning. Following this, a long discusion on the direction of Groovy, Grails and related technologies, topped with a motivational boosting speach from the CEO of OCI, the new Grails Sponsor. He talked about OCI's long running commitment to Open Source, and I think everyone in the room would agree that Grails is in a better place than a year ago. The future of Grails looks bright! -and the team of OCI Grails developers have already increased from 2 to 6.

At the second day keynote, Graeme rocked the house, and displayed superior live coding skills when developping a component to the keynote app system, and I think this gave a lot of Spring developpers something to to think about. Guillaume also announced that the number of Groovy downloads in 2015 is up to 7.1 million, from 4.5 in the entire 2014!

During the conference, there was a few suggestions for community involvement, which I will pass along:

  • The Grails team recommended a new plugin portal as a community project. The Bintray portal has api endpoints that can be used, and Baruch can be contacted for more info on these.
  • Ben Muschko would gladly hand over maintenance of some of his Gradle plugins
  • The website for GPars could need a hand, from someone with a keen eye on css etc.
  • Cedric mentioned Groovy and Android as an area where contributions are welcome


As mentioned above, GVM is now Sdkman, and can be envoked with the sdk command after upgrading. The major release was followed by a couple of bugfixes, and if you experience errors, please raise an issue on github. first you could however try step 4 here. The new website is live and can be found at, with credits to @DaiMedina for logo and icon design. The links from Groovy and Grails websites are updated.

Just as SpringOne2gx was comming to a close, Peter created a new episode of the Groovy Podcast, featuring Dan Woods and discussing the release of Ratpack 1.0, the future of Grails an other topics.

Jennifer Strater of the GR8 Ladies is still compiling a list of companies that use Groovy, help her placing your company on the list, if it is not already there and you are using Groovy.

Grooscript has released version 1.2.1, with some fixes and improvements, also upgrading the Gradle plugin. Don't forget to star the Grooscript transpiler on Github!

Antony Jones has shared a bit of code on how to use Geb to test an application that uses AngularJS reliably: The code implements waiting for the angular views to be resolved before attempting assertions.

An example of basic crud for a Ratpack 1.0 application, backed by MongoDB is available here, thanks to Jon DeJong.

Finally, the Grails Slack channel has had an issue with a bit of noise, that hopefully has been resolved now. Burt Beckwith shares Some thoughts on the Grails and Groovy communities, that are worth a read.


Slides and notes from SpringOne2gx

Gopesh Verma and Bhagwat Kumar from To the New Digital attended SpringOne2gx, and Kumar has blogged about it here:

Podcasts and Videos of Presentations

Blogs, Articles, etc.

New Grails 3 Plugins

Updated Grails 3 Plugins

  • console (2.0.3) Grails Console Plugin

New Grails 2 Plugins

Updated Grails 2 Plugins

  • Babel Asset-Pipeline Plugin Adds babel transformation to Asset-Pipeline.
  • Grails Postgresql Extensions Plugin This plugin provides hibernate user types to support for Postgresql Native Types like Array, HStore, JSON,… as well as new criterias to query this native types
  • Asset Autoprefixer Plugin Asset-Pipeline extension to call autoprefixer on less and css files
  • OAuth2 Provider support for the Spring Security plugin. OAuth2 Provider support for the Spring Security plugin.
  • Karman AWS Plugin Karman AWS provides an Amazon S3 Interface to the Karman API
  • Karman Plugin Karman is a standardized / extensible interface plugin for dealing with various cloud services including Local and S3.
  • Clover Code Coverage for Grails A plugin that integrates Clover into GRAILS projects. Clover is a Code Coverage tool that produces beautiful reports which are highly configurable and extensible. Clover not only reports which lines of code were executed during a test run, it also reports which tests hit which lines of code. Clover's reports include: Tag Clouds of your entire project that compare Complexity with Coverage A TreeMap to visualise the most complex, uncovered areas of your project Fully Cross Referenced HTML view...
  • Audit Logging Plugin Automatically log change events for domain objects. The Audit Logging plugin additionally adds an instance hook to domain objects that allows you to hang Audit events off of them. The events include onSave, onChange, and onDelete. When called, the event handlers have access to oldObj and newObj definitions that will allow you to take action on what has changed.
  • Grails Application Version Update Plugin Provides a more friendly way to update your application or plugin version.
  • Localizations (messages) plugin This plugin will pull i18n definitions from the database rather than from the standard properties files in the i18
  • Spud Cms Plugin Provides CMS functionality for Spud

Interesting Tweets

  • @pledbrook AST transform-generated copy constructors in #groovylang: - goes well with @`Canonical.
  • @NoamTenne REST Gradle Plugin Update
  • @javazquez Asked a really, really, dumb question and @ratpackweb community was patient and kind. Really can't say enough about how great they are!
  • @marc0der Seriously impressed with what I've seen about @ratpackweb during the conference. Well done to everyone involved.
  • @ldaley Had to use @GebFramework for the first time in quite a while; had to read the docs. It was a nice experience. Hat tip to @marcinerdmann.
  • @ErinWith2Ls On my way to speak about tech to high school students... I've been told it's not funny to say I'm going to teach them to build clocks...
  • @gr8crm We're currently working on releasing plugins crm-sales and crm-sales-ui to Testing and documentation in progress…
  • @codepipes Perhaps the search for a static site generator is now over! I just discovered @grainframework. Best thing: it is in #groovylang!
  • @daveklein It was great to see the hearty round of applause for @ObjectComputing at tonight's #groovylang / #grailsfw BOF at #s2gx
  • @sbglasius Very well attended #groovylang and #grailsfw BOF at #s2gx
  • @bhagwatkumar Witnessing #gvm becoming #sdkman by @marc0der :) at #s2gx
  • @mittie With 7.1 Million downloads this year to date, #groovylang must now be considered mainstream. “@kenkousen #s2gx
  • @Gradlephant Dear everyone, nobody gives a fu** how you did on twitter last week!
  • @sbowman96 Grails is the bananna, cherry & whip creme on the SpringBoot Ice Cream? #s2gx @grailsframework @springone2gx #lunch
  • @danveloper I know when to admit when I'm wrong... The jäger shots were a bad idea. #s2gx
  • @CedricChampeau Interesting that @github considers #gradle files as their own language, although it's #groovylang DSL!
  • @RyanVanderwerf Cocktails and magic! #s2gx
  • @smaldini I have been amazed by @grailsframework update, very inspiring, kudo to the heroic team /cc @graemerocher
  • @davetownsend . @graemerocher live coding #grailsfw 3. You gotta love the #groovylang man! #s2gx
  • @habuma Groovy is here to stay - Guillaume Laforge. #s2gx
  • @Gradlephant am I the only real party animal here at #s2gx among all those lame nerds and noobs?
  • @marc0der Great to see @bmuschko in action talking about #gradle plugin best practices.
  • @marc0der Nice! @ratpackweb Javadoc code snippets are actually run as part of the build, so always stay up to date.
  • @CedricChampeau I'm starting to think that widescreens have been invented for asynchronous programming to be possible.
  • @CedricChampeau "Ratpack is production-ready" @danveloper #s2gx
  • @craigburke1 Open source is all about people fixing your terrible code. Thanks @musketyr and Anand Upadhyay!
  • @kenkousen Just finished the Early Access release of “Learning Ratpack”. This is not the @ratpackweb book we deserve. It’s the book we NEED
  • @jponge It took me a while to get convinced by Gradle over Maven. Speed, better caching and customisation (if not abusive) won me over.
  • @TOTHENEW "We are honoured to be part of the @gr8conf family" - @TOTHENEW, Organizers of @GrailsConf #grailsfw #groovylang


Conferences and meetups