A big week for the Gradle team as they’ve just announced the final release of Gradle 2.0! It’s of course a very important milestone for the project, and it’s nice to see that the migration to Groovy 2.3 as a baseline.
There are also some updates to Grails, Ratpack, and also the launch of the Spring IO platform that you might be interested in.
You’ll see also a list of job postings for Netflix, where Groovy is deployed at a very large scale and who are always seeking Groovy talents.
Gradle 2.0 released (with Groovy 2.3 included!)
Ratpack 0.9.6 released
Grails 2.4.2 and 2.3.11 are released
The GrooScript Gradle pluging v0.4 is out, with Gradle 2.0 and Groovy 2.3.3
The Spring IO platform 1.0 has just been released, aligned with the recent Groovy & Grails releases
Lazybones 0.7 is released
Spring Boot 1.1.2 is out
Spring Boot 1.1.3 out as well!
June newsletter from GradleWare about all things Gradle
Functors in Groovy by Mark Perry
MrHaki's Spocklight: assign multiple data variables from provider
MrHaki shows how to write your own data providers for Spock
Infographic article from Cygnet Infotech on moving from legacy technologies towards Grails
Dan Woods presented Ratpack at UberConf 2014, with slides and demos
Slides and demos from Dan Woods on introducing Groovy developers to the Java 8 new features, presented at UberConf 2014
Groovy as a scripting language, by Jen Strater, at the GR8Ladies GR8Workshop
Intellij IDEA's new Early Access Program has started, for version 14, which includes the Groovy traits support, as well as better interactions between Grails and Gradle
Cédric Champeau announced that older versions of the Groovy documentation were now also available online
Daniel Jacobson from Netflix lists some of the job postings from Netflix where Groovy skills are needed
Peter Ledbrook recoreded Episode 4 of the Groovy podcast, including an interview with Baruch Sadogursky of JFrog, to discuss Groovy, Gradle, Bintray and more
Cédric Champeau points at the Groovy support for Android, for those who are disappointed that Google didn't announce a new language for Android
Grails 2.4.2 and 2.3.11 are available on GVM
Rob Fletcher shares a screenshot of the nice T icon for traits in IntelliJ IDEA 14 EAP
Lazybones 0.7 is available on GVM
Spring Boot 1.1.2 available through GVM
Alexander Klein explains the inception of the GVM logo
A Ratpack tip to enable static compilation of Ratpack scripts
Gradle 2.0 is available through GVM
Jon Brisbin is brainstorming some a Basho WebMachine Groovy approach
GR8Conf US programme, sponsors, and teasing the great talks you'll be able to attend
This week, I’d like to highlight how you can contribute to the Groovy project!
The Groovy core team is a very small team, compared to the huge team a company like Oracle puts behind Java and the JVM, or Microsoft behind its languages and the .Net platform. So all contributions, in any form, count, and are important to the success and evolution of the Groovy language.
If you want to contribute to the code of Groovy, Cédric Champeau recorded a screencast showing how you can set up IntelliJ IDEA to be able to work on the Groovy codebase.
But another key area we’ve been working on for a while is the new Groovy documentation. Peter Ledbrook detailed how you can help us author some sections of the documentation. Like Peter, you can dedicate a bit of your time on a topic of your choice, to further deepen your understanding of a particular area of Groovy and share your knowledge with your peers.
We’re really looking forward for your contributions!
Szczepan Faber announces Gradle 2.0 rc-2
Griffon 2.0.0 beta-2 released
An update release of all the Griffon 2.0.0 beta-3 lazybones templates
Vert.x 2.1.1 released
Bug fix release of the Light Table Groovy client with v0.0.7
Peter Ledbrook released v1.1 of the Lazybones Gradle plugin
Gretty 1.0 is out, with Tomcat 7 & 8 support
Yoav Landman announces version 0.4 of the Gradle Bintray plugin
Peter Ledbrook explains how to contribute to the Groovy documentation
A detailed introduction to the Spock testing framework by Lukasz Janicki
Dan Woods explores micro-services with Spring Boot and Groovy
Alex Staveley writes about MongoDB and Grails
Further Gradle dependecy visualization in Light Table's Groovy client with Dagre-D3 by Magnus Rundberget
MrHaki's Spocklight: ignore specifications based on conditions
Java build tools: Ant vs Maven vs Gradle, by Viktor Farcic
Groovy, Gradle and Vert.x on Beaglebone with GVM by Laurent Huet
Part 2 of OAuth 2 using Grails
A recap of the Gradle Summit 2014 by John Engelman
Robert Fletcher writes about how to use Groovy's invoke dynamic support in your Gradle projects
Robert Fletcher explicits how to trigger the usage Groovy's invoke dynamic support in Gradle
Parleys published Guillaume Laforge's Devoxx 2013 talk on what makes Groovy groovy
The Jenkins Workflow projects is built on Groovy, for defining continous delivery pipelines and more, presentation given by Jesse Glick at the Jenkins User Conference Boston
Andrés Almiray presents the Griffon desktop framework at the CERN
Grails Diary week 25 by Jacob Aae Mikkelsen
Magnus Rundberget points us at the contribution page, if you want to help improve the LightTable Groovy client
The new Griffon user guide is adopting a similar look'n feel and style as the new Groovy documentation, with Asciidoctor
Cédric Champeau recorded a screencast showing how to setup IntelliJ IDEA to contribute to the Groovy project
Peter Ledbrook recorded the Groovy podcast episode 3
Already 100 stars on Github for the Groovy Android plugin for Gradle. You can still add your own star!
Robert Fletcher shares a Gradle tip on how to enable the invoke dynamic support in your Gradle build when using the Groovy "indy" JAR
Grails 2.4.1 and 2.3.10 available in GVM
Andrés Almiray points out that Griffon 2.0.0 application can be built with Maven
Gradle 2.0 rc-2 is available through GVM
Guillaume Laforge shows a code visitor that transforms BigDecimal literals into doubles
44% off on Making Java Groovy by Ken Kousen
Guillaume Laforge shares the list of Groovy related talks at JavaOne
Only one week left till the early bird pricing end of GR8Conf US. Be fast!
Super Early Bird registration for SpringOne2GX ends on June 30th
JDriven is organizing a workshop on building REST-ful apps with Grails, on July 2nd (Dutch)
Russ Danner will give a webinar on: conquering content-enabled web and mobile applications with Spring and Groovy on July 29th
- Groovy in the Light of Java 8 [CON5839]
With Java 8 out the door, Java developers can at last benefit from the long-awaited lambdas to taste the newly found functional flavor of the language. Streams are there to work more easily and efficiently with heaps of data. Those things are not new to developers acquainted with Groovy. But what is left to Groovy to make it attractive beyond all the aspects in which Java has caught up with Groovy? In this session, a Groovy project lead shows you how Groovy is still relevant in the JVM landscape, how similar or different Java and Groovy can be, how Groovy further improves the developer experience on top of JDK 8, and what Groovy offers beyond Java.
- Groovy in 2014 and Beyond [CON5996]
With three million downloads in a year, Groovy still clearly leads the pack of alternative languages on the JVM, but it’s not resting on its laurels. The latest Groovy release, 2.3, is chock-full of useful new features and performance improvements. In particular, Groovy now supports the concept of “traits” for elegantly composing behaviors. Its JSON support is now the most performant of all the JSON libraries available to date. Groovy 2.3 introduces a new markup-based template engine, new code transformations, and much more. In this session, a Groovy project lead guides you through the latest advancements in the Groovy programming language and tells you what’s cooking for the next releases.
- Exploring Groovy Metaprogramming [CON1768]
One of the key benefits of Groovy is its metaprogramming capability. The built-in features of the language enable you to realize AOP without the need for any heavyweight tools. This presentation takes an in-depth look at the metaprogramming capabilities of Groovy and explains when to use mixins, method injection, and method synthesis.
- Functional Programmning the Groovy Way [CON3538]
In recent years, functional programming has gained ground over object-oriented programming, mainly due to the advancement in computing power. The JVM is no exception. You can find powerful contenders in Clojure and Scala, but Groovy is not that far back in the race. The Groovy programming language contains a wide array of APIs and features that facilitate a functional programming style, such as closure composition, memorization, trampolines, and iterator methods. This session explores all of these features that are sure to spice up your daily experience.
- Rethinking API Design with Groovy Traits [CON2425]
Groovy 2.3 introduces the concept of traits in the language. Traits look like interfaces but enable the developer to add both implementation and state. They introduce multiple inheritance in the language while avoiding the diamond problem. Traits will let you rethink the way you design APIs in Groovy, by favoring composition of behaviors. This session explains what traits are, how they were implemented in Groovy, and what they have to offer to make your code more readable and maintainable.
- Groovy and Grails Puzzlers: As Usual—Traps, Pitfalls, and End Cases [CON1764]
Remember the epic Java puzzlers? Here’s the Groovy version, and there are some neat ones! Even though it is totally a Grails shop, some of these had JFrog people scratching their head for days, trying to figure them out. And there is more! Contributions from the truly Groovy senseis, including @glaforge, @aalmiray, @tim_yates, and @kenkousen, make this session an unforgettable journey to Groovy’s O_O. You’ll get the expected dose of fun and enlightenment while hearing about mistakes and failures, great and small, in hard-core Groovy/Grails development.
- Applying Groovy Closures for Fun and Productivity [CON1769]
You can program higher-order functions in Groovy quite easily by using closures, but the benefits of closures go far beyond that. Groovy has a variety of capabilities hidden in closures. This presentation unlocks that treasure and explores ways in which we can design applications by using Groovy closures to apply different design patterns, to create fluent interfaces, and even to program asynchrony.
- HTML5/AngularJS/Groovy/Java and MongoDB Together: What Could Possibly Go Wrong? [CON1703]
We hear it’s common to create a minimum viable product (MVP) in a language that facilitates rapid prototyping and then migrate to the JVM when the application requires better stability and performance. In this session, the speaker uses Java to create a web application in less than hour. The JVM is a polyglot platform, and you’ll learn how to use the correct tools for this application, including AngularJS, Bootstrap, HTML5, web services, Java, MongoDB, and Groovy—it’s fully buzzword-compliant. The presentation doesn’t go into every technology in depth but demonstrates the role of each tool and how the tools interact. The session will result in a fully working mobile/browser-friendly app without compromise of design or good practice. It’s even going to have tests.
- Plugging Users In: Extend Your Application with Pluggable Groovy DSL [CON1752]
It is often beneficial to enable users to extend your software with their own logic, and with dynamic languages on the JVM, it is also easy to do so. This session shares JFrog’s experience in creating a public, Groovy-authored user plug-in interface. It explains what domain-specific languages (DSLs) are, what their relevance to user plug-ins is, and how they can be implemented in Groovy or Java. It also discusses another very important aspect of pluggability: good public API design. Further, it covers security concerns and how they should be tackled. And finally, it discusses classpath isolation issues you may run into and compares different solutions to this problem.
- Script Bowl 2014: The Battle Rages On [CON2939]
In this contest, languages that run on the JVM, represented by their respective language nerds, battle for bragging rights as the most popular language by showing off their shiny new features. Adding a twist to the format in which the audience members will pick this year’s winner(s): they will also vote on a language that should not return in 2015. Returning from 2013 are language gurus representing Clojure, Groovy, JRuby, and Scala. Attend this fun-filled and technically invigorating session to judge which scripting language best meets your needs. You’ll also be able to compare the respective languages and spark some thought-provoking discussions with the panelists that will be beneficial to the entire Java community.
- Spring 4TW! [CON3693]
Spring 4’s here, and with it comes a bevy of new features designed to support modern web developers as well as enrich the component model and enable even-more-adaptive enterprise applications. Spring 4 also serves as the underpinning of Spring Boot, the entry point into the Spring platform. In this session, a Spring developer advocate discusses Spring 4’s new support for WebSocket (including extra support for STOMP), conditional configuration, dependency injection, Java 8 and Java EE 7 support (JCache support, the Batch JSR, ManagedExecutorService support, and so on), the Groovy language, and more. The presentation also looks at Spring Boot as a productive entry point into the Spring platform.
- Writing Highly Concurrent Polyglot Applications with Vert.x [CON7902]
- Create Elegant Builds at Scale with Gradle [CON8780]
How can medium and large projects use Gradle to scale their build infrastructure? This session looks at organizations such as Netflix and LinkedIn and how they scale with Gradle across hundreds or thousands of developers. It discusses how to solve the challenges of standardization, dependency management, multilanguage builds, and automatic build infrastructure provisioning.
- Gradle: Harder, Better, Stronger, Faster [CON3531]
Are you one of those people who search around the world looking for clues on how to get Maven to do your bidding, or do you just flip a coin and get lucky one more time? Maven works OK, but there’s a new tool in town that goes beyond Maven: Gradle. It’s fresh, almost aerodynamic. Once you get in contact with it, you’ll feel like doin’ it right when building a project. We kid you not, it’s an instant crush for those who have followed the Maven path, as you’ll find out in this session. This is the prime time of your life as a developer. Make the most out of it by leveraging the best tools.
- Build, Test, and Deploy JavaFX Applications with Ease [CON3553]
Why is it that there are so many different options in the JVM space for building web applications but so few when it comes to desktop applications? This presentation addresses this question by showcasing a set of tools that can help you build JavaFX-powered applications without having to battle the build itself. It begins by looking at Gradle for defining the basic structure, then it covers Griffon as the means of putting all the pieces in their right place and TestFX as the testing library of choice, and finally it closes by circling back to Gradle and its deployment options.
- Advanced Java Unit Testing with Spock [CON2276]
The Spock unit testing framework is on the verge of a 1.0 release and has already proven to be the next-generation thinking on how to test Java production code. Using Spock is hands-down the best way for developers to mock and test Java applications. One of Spock’s great features is the ability to write your own custom extensions. This session is a fast-paced (not for beginners), code-centric overview of how to use the advanced features in Spock, including custom extensions and interceptors.
- BDD in Action: Building Software Right and Building the Right Software [CON1579]
A common perception of behavior-driven development (BDD) focuses on test automation with Cucumber-style “Given..When..Then” scenarios. But this is just the tip of the iceberg: in fact BDD ranges from requirements discovery and description through to driving technical design and implementation; helping testers focus their testing efforts more effectively; and even providing reliable, useful, and accurate technical documentation. This session discusses what BDD is about, its benefits, and how it affects development teams and processes. You will see how JVM teams can effectively implement BDD with tools such as JBehave, Cucumber, Thucydides, and Spock. Come learn how much more there is to BDD than just “Given..When..Then.”