Gradle 2.0 is here: sleek, speedy and supporting Java 8
In a significant milestone for the community around it, build automation tool Gradle officially reached 2.0 status this week. With the extraction of many deprecated features and APIs from the codebase, Gradle 2.0 is a lean, mean work machine, and promises to offer a good deal more flexibility than previous incarnations of the software.
Regarding this wave of extinctions, note that only features that have been formally marked as deprecated will be excised, and generally only those features that have been deprecated for at least two releases of Gradle - so no need to sweat about broken compatibility in your recent builds.
Befitting for such a major release, Gradle 2.0 is characterised by more than its new backwards compatibility baseline though. There’s the small matter of support for Java 8 for one, which is fully primed and ready to leap into action, as soon as you can be bothered to update.
Gradle 2.0 also introduces a new public API for resolving “source” and “javadoc” JARs for JVM library components. With this addition, Gradle can now offer single, dedicated APIs for components and artifacts. The exposition of Ivy “Extra Info” attributes enables a new class of advanced dependency management use cases, and it’s now possible to use the SFTP protocol for dependency consumption without the need for custom Ivy resolvers.
There’s also been some quality control executed on code plug-ins - to this end, Checkstyle 5.7, 2.0.3 Findbugs and PMD 5.1.1 are all fully supported.
Gradle 2.0 now uses Groovy 2.3.2 (released at the beginning of May) for the compilation and running of build scripts and plug-ins. In the spirit of object-oriented programming, these are all reusable components. To hear more about the object-oriented ethos, take a look at our interview with Guillaume Laforge, shot shortly after the software’s 2.3 release, where he explains just what it is that makes Groovy so fab.