Gradle has released milestone version 3.0 of their polyglot build tool. Features in this new release include:
- Gradle Cloud Services
-
Improved Gradle Daemons:
- Enabled by default
- View the status of Gradle Daemons
- View Daemon information on Gradle Cloud Services
-
Better IDE support:
- Parallel task execution improvements
- Initial Java 9 support
- Improved plugins
Gradle is a comprehensive build tool that supports a wide variety of languages, which is especially useful to enterprises whose code bases can be a diverse mix. For example, LinkedIn relies on Gradle to build their network comprised of 60 languages. Gradle also imports dependencies from repositories such as Maven and Ivy.
Languages supported include:
- Java
- C++
- Python ({py}gradle)
- JavaScript
- Clojure
- Scala
Gradle Cloud Services and Build Scans
Gradle Cloud Services adds new capabilities in software development. By providing Build Scans, developers have the option to place a record of their build in the cloud to collaborate with other developers. Adding a Build Scan to an existing Gradle project requires adding the following code to the build.gradle
file:
plugins {
id 'com.gradle.build-scan' version '1.1.1'
id 'java'
}
buildScan {
licenseAgreementUrl = 'https://gradle.com/terms-of-service'
licenseAgree = 'yes'
tag 'SAMPLE'
link 'GitHub','https://github.com/gradle/gradle-build-scan-quickstart'
}
The project can be built and placed in the Gradle cloud by executing the command:
$ gradle build -Dscan
From the screenshot above, there are two items worth noting:
- A Gradle daemon is automatically started.
- A link to view the build information on Gradle’s cloud service.
After a simple activation process, build information for the project can be viewed on-line.
Tim Berglund, director of education at DataStax and author of Gradle: Beyond the Basics, spoke to InfoQ about the latest version of Gradle.
InfoQ: What is your current role at DataStax?
Berglund: I am responsible for all curriculum development, the DataStax Academy web site (https://academy.datastax.com), and all training-related video production. My team helps make it easy for people to use our flagship product, DataStax Enterprise.
InfoQ: It would appear that Gradle is separating themselves from the other build tools, such as Maven, Ant, and Pants, with features such as Gradle Daemons and their new Cloud Services. Do you expect the others to follow suit?
Berglund: I speak entirely as an outsider here—I haven't been directly involved with Gradle Inc. in some time—but I do think the cloud product is a huge leap ahead of the competition. I wouldn't expect Ant to follow suit, since the pace of development on that project is fairly low these days and there is no commercial concern with incentives to speed it up. I would definitely expect Maven to respond in some way. At the risk of sounding like something of a booster, I can't see how a build tool with ongoing enterprise aspirations could hope to compete otherwise.
InfoQ: What would you say makes Gradle unique over other build tools?
Berglund: I've always looked at Gradle as a set of APIs for writing build software. Yes, it has a simple declarative mode and a good set of standard plugins for doing normal things, but the unanimous report of enterprise software development is that builds are themselves elaborate programs written by a specialized kind of developer—and those developers require a specialized development tool. There is an analogy to DevOps here: we use that word to describe a kind of developer who does not merely administer systems, but programs them as their own specialized domain. Builds are the same, and Gradle is the only build tool designed to support that sort of software development discipline.
InfoQ: Do you plan to publish updated editions to “Building and Testing with Gradle” and/or “Gradle: Beyond the Basics” to include the new features of Gradle?
Berglund: Sadly, no. While I am still a happy Gradle user, my primary focus has shifted into other areas since writing those books. This is an important enough topic that it demands to be handled by someone whose full attention is in the space. I look forward to seeing those revisions happen under another name.
Free eBooks, Building and Testing with Gradle (Berglund and Matthew McCullough) and Gradle: Beyond the Basics (Berglund), and workshops are available for developers who are looking to get started with Gradle.
Example source code for Gradle 3.0 can be found on GitHub.