This time a many weeks (/back from the dead) edition of the Grails diary, sorry for that, but I've been both on vacation in Spain around the Greach Conference, and annoyingly busy, including switching job. Due to the long time, I guarantee that there is plenty of material (and plenty that I have missed too).
The Greach Confonference was a blast like always. The videos section is packed with lots of great presentations, and I have to take a close look at some of the ones I missed. The first day was all workshops, and while I was doing some last minute additions to my own talk on Jenkins Pipeline, I did sit in on "Excel in Groovy" by Vladimir Orany and "Gradle Plugin writing Workshop" by Schalk Cronjé. Both were well executed, and with plenty of content to work on also after the conference. I have already recommended the material from Schalk's workshop to a few others on my current team. The best workshop i attended was "Your Very First Macro Method" by Groovy Core Committer Sergei Egorov. First Sergei improvised a AST writing session, as not many had done any, before showing how elegant and simple the same problem could be done with Macro Groovy. The example used in the worshop was a handy super-logger, that I have missed many times. His slides are available here. From the two conference days, I can recommend "Geb Best Practices" by Marcin Erdmann, covering multiple more or less advanced tips for using Geb, "Mastering Async in Ratpack" by Danny Hyun, and "Groovy Integration Testing with Spock and Docker" by Kevin Wittek. All in all an awesome job by Iván López and Alberto Vilches for putting this great event togeather. Finally, jmiguel rodriguez has shared his photos from the conference.
Since the last edition, Groovy has had two releases, 2.4.10 and 2.4.11. Both are bugfix releases and updates to documentation. I find it more interesting that the first alpha release of Groovy 2.5 is available bringing macro groovy support, many small new features and a large number of bugfixes. Also, the new parser (parrot), has been merged to master, and will likely come in the 2.6 release. Congrats to John Wagenleitner, who has joined the Groovy PMC.
Business Insider has Groovy as one of 16 programming languages on the list Learn any of these 16 programming languages and you'll always have a job
The Grails team has release a couple of patch versions of Grails too, 3.2.8 and 3.2.9, to go along with the 2.5.6 and 3.1.16 maintenence releases. The more interesting release is the official release of GORM 6.1(0,1 and 2). In Grails it is now easy to set the Gorm version, by adding "gormVersion=6.1.2" to gradle.properties. You should definitely check out Grame Rochers Grails Keynote from Greach to get all the news, including a demo of the new auto generated service methods. He also shared the demo of GORM 6.1.
Every week a new guide is added to guides.grails.org, within a large range of topics. A couple I found interesting are Building a Graph application with Grails and Neo4j, and Create a custom authentication mechanism with Spring Security Core Plugin . Alberto De Ávila has shared slides and code for his workshop at Greach on Testing in Grails.
Grails has now integrated with Google App Engine (GAE), and you can run your Grails applications on GAE over the Google Cloud Platform. A guide is also available.
The Ratpack team has made a bugfix release 1.4.6, fixing a validation against https servers error in the http client. The team is also working hard on getting version 1.5 ready, and the first two release candidates are available for testing. It comes with support for Promise based JDBC transactions, a ratpack-consul modules for Consul backed config managememt, lots new methods on the Promise class and some convenience updates. Checkout the upcomming release notes. I can also reecommend a great article on Practical Ratpack Promises by Jon Bevan.
Mario Garcia has released a first version of GQL, a Groovy library for GraphQL. The website is at grooviter.github.io/gql, with links to documentation and code. From the documentation: "GQL is a set of Groovy DSLs and AST transformations built on top of GraphQL-java to make it easier building GraphQL schemas and execute GraphQL queries without losing type safety" In the video section, you can also find Marios presentation GraphQL development with Groovy from Greach on GQL
The Codenarc project has received a bit of love from Jenn Strater, and a few new rules has been added. The latest version is now 0.27.0.
The Geb website, gebish.org/ has gotten a major facelift, thanks to Antony Jones.
The Gradle team has added a guide section to the documentation at gradle.org/docs#guides, including guides on Designing Gradle Plugins and Implementing Gradle Plugins.
Gradle 3.5 has also been released, with a new Build Cache, that saves time by reusing outputs from previous executions, and a new output format, and a new plugin management block to better control where plugins are resolved from.
The Gradle Site Plugin is a new useful, real-world example that uses best practices from the Gradle plugin dev guides, and a good way to get examples on plugin work in Gradle from.
The http-builder-ng project has been updated with enhanced exception handling, Generic Multipart request encoder, a reworked user guide, and performance improvements with cookies. The 1.0 release is getting nearer, and you can supply feedback on what is missing before then
The mock server for testing fx. rest clients, the Ersatz Server, is out in version 1.2.0, with deeper cookie matching support. It is quite easy to use, and worth a look if you hav not already.
GR8Conf EU is just a few weeks away, and you should secure your ticket soon! I'm looking forward to this years edition, which includes a day with focus on DevOps technologies in and outside the Groovy Ecosystem. Hope to see you there!
Podcasts and Videos of Presentations
Blogs, Articles, etc.
Interesting Tweets
-
@grailsframework Monday Guide: Learn how to change the default language used in your application, switch between languages… http://guides.grails.org/grails_i18n/guide/index.html #grailsfw
-
@dfw2gug If you missed Dave's talk about moving to Groovy last month, you have another chance to catch it at this week's @JavaMUG on Wednesday.
-
@Gr8Ladies We're really excited to announce we've confirmed @olga_maciaszek and @kraulain as the recipients of our travel grants to @gr8conf in CPH!
-
@puneetbhl 15 new #grails developers joining slack today @TOTHENEW
-
@GR8ConfUS Graeme Rocher, @graemerocher, will be speaking at GR8Conf US this year http://gr8conf.us/speakers/54
-
@grailsframework Do you want to learn more about Grails with @googlecloud Checkout the app https://grails-samples.github.io/google-bookshelf/ Translation API, Vision API … #grailsfw
-
@sbglasius Going to the final @gr8conf planing meeting before the conference. Also, today is when we bottle the #gr8beer! #groovylang #grailsfw
-
@aalmiray slides for "Testing Java Code Effectively" available at https://www.slideshare.net/aalmiray/testing-java-code-effectively +@jugka
-
@epragt Another language comparison of JVM languages on #Stackoverflow based on number of questions per month #kotlin… https://twitter.com/i/web/status/857126249524846593
-
@jeffscottbrown We are trying to identify organizations for which this feature set would be valuable. Let me know. #grailsfw https://twitter.com/objectcomputing/status/856556974636453888
-
@NoamTenne Great work on the improved documentation, @HttpBuilderNG ! /cc: @kenkousen @jbaruch
-
@gr8conf GR8Conf EU is truly international! Attendees from 17 countries so far @ApacheGroovy @grailsframework #devops Reg No… https://twitter.com/i/web/status/856473550471016448
-
@GebFramework 90s called and said they wanted their site back so @antony kindly refreshed http://gebish.org for us. Thanks @antony!
-
@DailyGradle Get started writing custom plugins for your project and place them in buildSrc: https://guides.gradle.org/writing-gradle-plugins #gradleTip
-
@aalmiray minimum effort to get started with Open Source development: Encountered a bug? File an issue and let the team know! https://issues.apache.org/jira/browse/PIVOT-993
-
@olivierleplus Fun facts on what we can learn about developers using #Groovy and #Gradle with #bigquery . Thanks @glaforge at… https://twitter.com/i/web/status/854706294586048512
-
@ratpackweb Ratpack 1.5.0 adds support for rendering Rocker templates. Use this plugin if you're building with @gradle. https://twitter.com/etiennestuder/status/854569288660901888
-
@dfw2gug We need a group logo... anybody have any graphic design skills?
-
@DailyGradle Help your friends migrate from #maven to #gradle with this guide https://guides.gradle.org/migrating-from-maven #gradleTip
-
@chrisstehno It's an odd feeling when you hear your name mentioned in a podcast. ?? https://twitter.com/groovypodcast/status/851850261106765825
-
@CedricChampeau Pro tip. When writing concurrent algorithms, do peer reviews, multiple reviewers at the same time. First review wins.
-
@gr8conf Again from India, @puneetbhl is speaking at #gr8conf eu. http://bit.ly/2p8qi4S #grailsfw #devops @TOTHENEW Register for Early Bird
-
@craigburke1 Nice! Looks like they're open-sourcing clover. I'll need to give that another look: https://www.atlassian.com/blog/announcements/atlassian-clover-open-source
-
@DailyGradle When using #groovylang with TestKit, redirecting output is easy. #gradleTip https://t.co/B1eDdEYxRW
-
@wmacgyver @graemerocher grovvy users don’t make a lot of noise, get things done etc.
-
@baeldung The results of the "Java in 2017" Survey are out: http://www.baeldung.com/java-in-2017 - quite some interesting numbers this year
-
@daniel_sun The new annotation Groovydoc has been added for #groovylang 3. You find its example at http://bit.ly/2oflGvi @ApacheGroovy
-
@epragt Google Trends: Kotlin (blue) vs Groovy (red). #kotlin #groovylang https://trends.google.com.au/trends/explore?q=%2Fm%2F0_lcrx4,%2Fm%2F02js86 https://t.co/UdTCpwnQCG
-
@testcontainers Testcontainers 1.2.1 is out! This is a small bugfix release. CHANGELOG here: https://github.com/testcontainers/testcontainers-java/blob/master/CHANGELOG.md
-
@HttpBuilderNG Are there any plugins or components using the old HttpBuilder that would like an update to NG? #groovylang
-
@sdkman_ Java 9ea+163 for Mac, Windows and Linux 64 released on SDKMAN! #java
-
@kszdev Parrot Parser is gonna be a big thing for @ApacheGroovy https://github.com/apache/groovy/tree/parrot/subprojects/groovy-parser-antlr4 #groovylang
-
@TheASF If Apache software has helped you, please consider making a donation, no matter the size. Every dollar counts. http://apache.org/foundation/contributing.html
-
@Lspacewalker Notes from @melbjvm presentation https://danhyun.github.io/rapid-ratpack-groovy/ Showcasing ratpack, groovy, jooq, heroku
-
@carlosqt Apache Groovy 2.5.0 Alpha 1 released! download from: http://groovy-lang.org/download.html programming #groovylang #java #grails @ApacheGroovy
-
@greachconf Special thanks to @jbaruch and @jfrog because without them the @groovypuzzlers wouldn't be possible. Thanks for make it happen another year!
-
@grails3book Practical Grails 3 - 0.6 update live - release notes here https://erichelgeson.github.io/blog/2017/04/03/grails-book-06/ Email to purchased list tomorrow. #grailsfw
-
@grailsframework New Guide! How to test Domain class constraints? Master Grails 3 unit testing! http://guides.grails.org/grails-test-domain-class-constraints/guide/index.html #grailsfw
-
@daniel_sun The new parser(Parrot) for #groovylang supports expression spanning rows, e.g. def a = true || false http://bit.ly/2nTw0Jh @ApacheGroovy
-
@RalfDMueller Big THANX to @benmanes for the gradle-versions-plugin! https://rdmueller.github.io/dependency-update/
-
@sdelamo Do you want to develop for Apple TV with #grailsfw after #greach ? Do you need custom security core authentication? http://groovycalamari.com/issues/74
-
@RalfDMueller can't wait to test this spock-reports feature created by hexmind and @renatoathaydes : https://github.com/renatoathaydes/spock-reports/issues/96
-
@ysb33r After #greach its sweetz https://t.co/CgZ2XV27vU
-
@marioggar Ok @greachconf it was a blast! see u in 2018!!!
-
@greachconf Some of out AMAZING speakers #Greach https://t.co/plKhuPAWO0
-
@greachconf This is how the interviews are done this year by @autentia #Greach https://t.co/gEdd4UjcDv
-
@bsideup Compile-time, fast JSON as a macro method in @ApacheGroovy? Sure, why not! Took ~25 mins during @greachconf The res… https://twitter.com/i/web/status/848115390219784192
-
@RyanVanderwerf New Grails event bus coming with multiple async library support! @graemerocher #greach #grailsfw https://t.co/npIvlcG5oM
-
@autentia Crowded house for @graemerocher at @greachconf https://t.co/wPjDlbFoqC
-
@RyanVanderwerf @graemerocher giving keynote on new grails goodness #greach https://t.co/iQ4Y5rg9hm
-
@marioggar BTW guess who won a @jfrog t-shirt during #groovypuzzlers @greachconf yesterday https://t.co/ARdex3DqHn
-
@RafSegGir Yesterday was a great day in #greach, speakers were amazing and we learned new things! @greachconf https://t.co/U21JNWebCb
-
@Alba_Roza Couldn't be happier!! @greachconf super T-shirt ?????? #mrrobot #fsociety #ecorp https://t.co/lLs3xL0mvo
-
@alotor My mind has been blown by GORM 6 SOOOO cool stuff. @graemerocher #Greach https://t.co/Ws1eJcqzHt
-
@NoamTenne @jbaruch Donate docs!
-
@musketyr @burtbeckwith So every item in the collection is validated before the object is saved.
-
@musketyr @burtbeckwith if you want to scare people more of using hasMany, you can also mention that Grails domain classes validates deeply by default
-
@codeJENNerator TIL that @nulleric has provided a great tool for checking the diff between #grails versions. #greach https://t.co/YHMaQZwsVd
-
@ysb33r Just learnt about GrailsConfigurationAware from @sdelamo. Great design feature. #greach
-
@emfanitek Thanks for your talk on Test Driven REST API documentation @codeJENNerator at @greachconf . Very informative.
-
@marc0der Goodbye Postman, hello Advanced REST Client. It's simple, and it works! https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo
-
@greachconf Now it's time to create #gradle plugins. @ysb33r #Greach https://t.co/UMLaI6VcZD
-
@Kiview Workshop about Groovy Macro Methods by @bsideup @greachconf . Endless possibilities for AST transformation fun ?? https://t.co/4mllXroFPb
-
@marioggar Very inspiring workshop lead by @bsideup about #macro-methods #groovylang @greachconf
-
@gr8conf Checkout the awesome list of talks http://bit.ly/2ngpk5m - and yet more to come! #groovylang #grailsfw #devops #gradle #ratpackweb
-
@gr8conf Here is a short recap of GR8Conf 2016, just so you know what to expect from GR8Conf 2017! Register now! http://bit.ly/2o3Idfx #grailsfw
-
@DailyGradle You can do plugins { id ‘groovy’ } instead of apply plugin : ‘groovy’ #gradleTip
-
@grailsframework GORM 6.1 GA released with great new features for @Hibernate @MongoDB and @neo4j! http://grailsblog.objectcomputing.com/posts/2017/03/27/gorm-6.1-released.html #grailsfw #groovylang #grails
-
@NoamTenne Some super-sweet new @groovypuzzlers this year! I think I've even got a new favorite. You should definitely attend @greachconf or @gr8conf
-
@Kiview Let's get Groovy using @testcontainers @spockframework and @GebFramework @DevOpsGathering @GDataSoftwareAG #dog2017 https://twitter.com/DevOpsGathering/status/845615467658186752
-
@gr8conf Gr8 beer in the making https://t.co/9QIDqgkOEW
-
@eriwen Better console output in #Gradle 3.5 a first step toward better CLI. Next: logging, build summary, plugin hooks. https://github.com/gradle/gradle/releases/tag/v3.5.0-RC1
-
@jstrachan yay its me ;) https://twitter.com/jaxentercom/status/844881039084474368
-
@NoamTenne It's an honor to be speaking at @gr8conf for the 5th consecutive year https://twitter.com/gr8conf/status/844892280683147264
-
@glaforge Woo-hoo, in the big ballroom for my @googlecloud #BigQuery / @github / @ApacheGroovy talk at #devoxxus! https://t.co/g74iKeu1nx
-
@musketyr knowing that you need to delete .slcache folder when your @grailsframework app stops to compile is worth a fortune :-)
-
@gr8conf Please welcome @sdelamo and the Groovy Calamari as MEDIA sponsor of GR8Conf! http://bit.ly/2nFaau3 Great to have… https://twitter.com/i/web/status/844458769388109824
-
@goeh I just registered for @gr8conf EU. I missed last year so it feels great to be back on track.
-
@gr8conf Happy to support @Gr8Ladies in their effort to bring more diversity into #womenintech https://twitter.com/Gr8Ladies/status/841679083280965633
-
@Lspacewalker Hanging with @ratpackweb in sf https://t.co/LW3YEfWdhm
Conferences and meetups