Gradle 2.0 Release - Brings Backwards Compatibility, Memory Efficiency, and Higher Performance
Gradle 2.0 came out last week, and it's a pretty big move from Gradle--the first major version update they've done. With the major release comes a baseline of backwards compatibility, and a significantly simplified codebase. They were able to simplify services by removing expired and redundant features and API. There's more details on the exact things that were removed and added in the official release notes. It's worth pointing out that the "Potential Breaking Changes" section is probably of particular use to a lot of readers.
A major focus of the version update was improving memory efficiency and performance, especially for large builds, which was successfully implemented. Due to the critical nature of performance in build systems, the Gradle team is going to focus extensively on performance and efficiency (especially in the build process) throughout the version 2.x cycle.
In addition to these major changes, they made some other alterations that they elaborated on:
For more information on the version changes, including information about v2's support of building native projects, refer to the release notes.
In addition to the breaking changes of Gradle 2.0, the 2.0 release is business as usual with the steady evolution of Gradle via new and refined API and features. The move to Groovy 2.3.2 from Groovy 1.8 brings with it all of the new features added to Groovy in this time. There is now a public API for resolving “source” and “javadoc” JARs for JVM library components. The exposing of Ivy “Extra Info” attributes enables a new class of advanced dependency management use cases. It is now possible to use the SFTP protocol for dependency consumption without using custom Ivy resolvers. Maven POM profile support has also been improved through support for profile activation through absence of a system property.