2014 saw the 2nd annual Gradle Summit hosted by No Fluff Just Stuff and the Gradleware team in Santa Clara, CA. This was my first year attending and I will definitely be back. Jay Zimmerman of NFJS put together a very well organized conference at a great venue and Hans Dockter and the team from Gradleware and all the speakers had great content making for a very enjoyable conference.
The biggest news from the conference was from Hans’s keynote on the first day where he discussed the progress Gradle has made during the 1.x line and what to expect from the new 2.x line. The focus of the core team is going to be on improving the configuration phase of Gradle builds with the goal of reaching a 0 configuration time state. This will allow Gradle to integrate into more tools, especially IDEs, through it’s Tooling API without disturbing the developer experience. Additionally, these tools will become more full features as they will be able to query Gradle for project information in a timely manner requiring less synchronization on the tool side. Android Studio is paving the way for many of these concepts in the IDE world.
While the new configuration model garnered a lot of attention and talk during the conference, there was a 2nd reveal that was just as substantial for Gradle plugin developers and build admins, the Gradle Plugin Portal. The plugin portal has been in development for a number of months by Luke Daley and beginning at the conference, it was open for submissions for the community. The portal itself is a website running on Ratpack hosted in Heroku and backed by the BinTray distribution platform from JFrog. At launch the portal contained a number of plugins courtesy of the Netflix OSS team and their Nebula project. The portal will provide a central location for discovering plugins based on meta information and will provided the instructions for including the plugin into a Gradle build. Throughout the remainder of the conference, additional plugins were published into the portal by their developers. At the moment, roughly 60 plugins are available via the portal.
The portal isn’t simply a directory though. Gradle 2.1 will introduce a new Plugin DSL that will allow for automatic discover and application of plugins by interfacing with the portal. Additionally, the new Plugin DSL will provide additional isolation for plugin dependencies allowing them to avoid conflicting with each other. More information to come after Gradle 2.0 is released, but you can be sure that the plugin portal will be a core piece of Gradle moving forward.
The rest of the conference was a who’s who in the Gradle world. It was definitely a conference where I wish I could have made it to every talk and was sad that I couldn’t.
Justin Ryan & Rob Spieldenner from Netflix presented on Nebula which intends to provide a common framework for building, testing, and publishing Gradle plugins. As part of this, Netflix is will build/test any plugin that is part of the Nebula GitHub organization free-of-charge using a Cloudbees Jenkins server. Additional information and requesting to join the organization can be done on the Nebula Google Group.
Jake Ouellette from Twitter presented on Building Extensible Gradle Plugins. I only caught the end of the presentation, but there was a good conversation around plugin testing techniques.
The Gradleware team brought their A-game with presentations on Deploying w/ Gradle (Benjamin Muscho), Gradle in Very Large Projects (Szczepan Faber), Releasing w/ Gradle (Rene Groeschke), Native Code in Gradle (Daz DeBoer), among many others. Videos of every presentation at the conference should be available within the next couple of weeks, so keep an eye out for them.
The conference wasn’t just limited to the presentations as well. All the Gradleware team members made themselves available and accessible throughout the day and into the evening for side conversations and questions. Dan Woods & Luke Daley had an epic conversation surround the non-blocking asynchronous nature of Ratpack out on the patio. Phil Webb, co-creator of the Spring Boot project also turned up for a bit to discuss the integration of Gradle & Spring Boot. Look for some some significant changes coming up for that project.
Finally, a large congratulations and thanks to all the members of Gradleware and NFJS for putting on a fantastic conference.