Gradle 2.0 is an important milestone in the evolution of Gradle. As explained in the Gradle 2.0 announcement, the change in major version number signals a new backwards compatibility baseline. Many deprecated features and API have been removed in this release, allowing the development team to simplify the codebase and implement new functionality. For more details, see the release notes.
Gradle has matured considerably in the evolution from 1.0 to 2.0. It is significantly more performant and more memory efficient. We also added the industries best dependency management system, powerful support for C and C++ and many features and improvements that push the boundaries of building, testing and delivering JVM based software. The Gradle Tooling API, which provides a mechanism for programmatically interacting with Gradle, has evolved to provide new levels of integration between the IDE and the build system. Android Studio is the first IDE to make full use of this functionality and we expect other IDEs and tools to follow.
With Gradle 2.0 we are far from done. We have an unprecedented R&D power for the ongoing work on the Gradle 2.x stream. Over the next 6-12 months, Gradle will revolutionize build system performance, multi-platform dependency management, IDE integration and native builds. Stay tuned for a detailed roadmap, which we are going to publish within the next two weeks.
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. There are also other refinements and improvements detailed below, including improvements to Gradle’s support for building native projects. See the release notes for more details.
We hope you enjoy Gradle 2.0 and the coming releases in the 2.x stream.