Welcome to the Gradle newsletter for February! The team has been hard at work on both the latest releases of the Gradle Build Tool, version 3.4, and Gradle Enterprise, version 2017.1.
Details are below, but first, here are the links:
- Version 3.4 of the Gradle Build Tool is now available, with great improvements in performance
- GE 2017.1, the latest edition of Gradle Enterprise, is here
Featured Plugins and Integrations
Community member Bo Zhang announced Gogradle, a Gradle plugin that provides full support for Go projects!
We are especially excited about this project. There are capabilities provided by this plugin that are hard or impossible to achieve given current Go tooling, such as support of multiple simultaneous versions of Go and a project-scoped build (that is, no global $GOPATH). Finally, Gogradle integrates with most major Go package management systems, so is able to build 526 of GitHub’s top 1000 Go repositories without any extra configuration.
Learn more at the Gogradle project page.
- New 1.4.1 version of gretty, updated to work with Gradle 3.4
Gradle Jenkins 1.26 release
The usage of the Jenkins Gradle plugin has been increasing since the start of 2016, based on this statistics by the Jenkins project. It has gone from ~13k installations in February 2016 to ~56k installations in January 2017. The total number of Jenkins installations has gone from ~110k to ~141k. This means that now around 40% of Jenkins installations have the Gradle plugin installed as opposed to 12% at the beginning of 2016. This is another datapoint for the continued popularity of Gradle as a build tool. The following image, taken from the Jenkins plugin page shows how the number of installs has grown over the last year.
- June 22-23: Gradle Summit. This is the featured event of the year. The focus is on increasing developer productivity with Gradle. Registration and the call for papers is open now.
- Join us for a webinar, Composite Builds with Gradle and IntelliJ IDEA by Stefan Oehme & Trisha Gee on Mar 15th
- Mar 14-15: FREE Introduction to Gradle (Online)
- Apr 25-28: $100 Advanced Gradle Fundamentals for Java/JVM (Online)
- Jun 19-21: Gradle In-Depth (Palo Alto)
Gradle Enterprise 2017.1
The Gradle Cloud Services team is excited to announce Gradle Enterprise 2017.1! This release brings powerful new features to help diagnose dependency issues faster by easily finding dependency differences between two builds, identify opportunities to improve the performance of your build with an interactive graphical timeline of task execution, access streaming build data via an export API, get insights into how your build uses the Gradle build cache, view more detailed information about task performance, and more! See the release notes for more details: https://gradle.com/enterprise/releases/2017.1
The following figure, from the release page, shows an example of the new timeline feature, showing when tasks were executed and how long they took.
Performance Features of Gradle Build Tool version 3.4
The biggest features of the new release are:
- Compile Avoidance
- Stable incremental Java compiler
- Java Library Plugin
The key idea is that to get great performance, you need to focus not only on what to build, but also what not to. Compile avoidance means determining which parts of a system need to be rebuilt based on changes. The newly-revised incremental compiler is now much more robust and powerful, and can be enabled with a simple flag. The new Java library plugin lets you distinguish between dependencies required for an API from those that provide an application with internal implementation details.
All of these changes – understanding compiler avoidance, improving incremental compilation, and the new Java Library Plugin – promise to make complex builds both simpler and faster. They’re discussed in depth in a new blog post by Cedric Champeau. As a teaser, here’s a sample:
We are very proud to announce that the newly released Gradle 3.4 has significantly improved support for building Java applications, for all kind of users. This post explains in details what we fixed, improved and added. We will in particular focus on:
- Extremely fast incremental builds
- The end of the dreaded compile classpath leakage
The improvements we made can dramatically improve your build times. Here’s what we measured:
Please see the rest of the blog post for the details.