The fact that important OSS projects have embraced Gradle Enterprise provides a strong signal of its utility and value
SAN FRANCISCO (PRWEB) January 05, 2021
If some of the most important open source projects in the world are any indication, Gradle Enterprise is quickly emerging as a staple for build and test data analytics and as a source of acceleration technology for both Gradle and Maven-based builds. Spring, JetBrains (Kotlin), JUnit 5, and not surprisingly, Gradle Build Tool, all rely on Gradle Enterprise to improve build and test feedback cycle times and make troubleshooting more efficient by combining root cause analysis data with failure analytics.
San Francisco-based Gradle Inc. is the company behind the popular open source Gradle Build Tool which is downloaded on average more than 19 million times per month and has been counted in the “Top 20 Most Popular Open Source Projects for IT” by TechCrunch. Launched in 2017, the company’s commercial product, Gradle Enterprise, is the first software build performance acceleration and analytics solution and it is the key enabling technology for the emerging discipline of Developer Productivity Engineering. Many of the most prestigious software development teams within the most valuable technology and global business brands use Gradle Enterprise. According to the company, the result has been to cut build times in half and give developers back one day per week in lost productivity time.
“We make Gradle Enterprise available to leading open source projects for free,” said Hans Dockter, Gradle founder and CEO. “It’s a way for us to give back to and support the OSS community. At the same time, we benefit from the fact that important OSS projects have embraced Gradle Enterprise. It provides a strong signal of its utility and value, given the respect that these projects and their leadership have across the broader developer community.”
Here's a summary of the role Gradle Enterprise is playing in each project and some high-level results.
Spring is the world’s most popular Java framework for making Java programming quicker, easier, and safer for everybody. Gradle Enterprise is being used by the Spring Boot, Spring Framework, and Spring Security projects with more teams planning to come online. According to the Spring Boot team an important driver for Gradle Enterprise was frustration with the length of the feedback loop when making and testing changes. After migrating from Maven to the Gradle Build Tool and further optimizing build performance using Gradle Enterprise Build Cache, Continuous Integration (CI) builds now take roughly 20 minutes on average, 3-4 times faster than before. Local builds are taking an average of 2.5 minutes, which is 20-30 times faster than before. Beyond the performance improvements, the team has also started looking at analytic data to identify, prioritize and resolve flaky tests and other avoidable failures. More details about the build’s performance are available on Spring’s public instance of Gradle Enterprise.
Kotlin is a general-purpose, free, open source programming language initially designed for the Java Virtual Machine (JVM) and Android and is the most used programming language for building JVM applications after Java. The JetBrains Kotlin Compiler open source project is built with Gradle Enterprise about 60,000 times every month. During the build optimization period in early 2020, median build time was reduced from about 10 minutes to about 3.3 minutes. Currently, on CI, median build time is about 3.75 minutes with average remote build cache savings of 20 minutes per build. More details about the build’s performance are available on JetBrain’s public instance of Gradle Enterprise.
JUnit is the most widely used testing framework on the JVM. Given its widespread usage, JUnit needs to be thoroughly tested on all current JDKs and early access versions. Even though most of JUnit’s own tests are quite fast, building and testing on all these versions takes a toll on overall CI build times. Since the JUnit team enabled the Gradle Enterprise remote Build Cache, the average build time decreased by about 50%. Recently, the JUnit team has taken advantage of Gradle Enterprise Test Failure analytics capabilities to stabilize occasionally flaky tests. You can check out the JUnit public instance of Gradle enterprise here.
Gradle Build Tool
Gradle has emerged as the build tool of choice for projects within the JVM ecosystem, including Kotlin. Gradle Build Tool has a comprehensive automated test suite that covers different operating systems and Java versions. The team runs about 70,000 builds a week. The build relies heavily on the remote Build Cache for build acceleration, especially on CI, to avoid recompiling the code for different stages of the CI pipeline and re-running tests that are not relevant to tested changes. The team also relies heavily on Build Scans for finding performance regressions in the build. The flaky test management capabilities available in Test Failure Analytics are used regularly to identify and prioritize fixing the most flaky tests. Most recently, the Gradle Build Tool team started to use Distributed Testing to further reduce build times. For example, the time to run the tests for a key subproject on local builds dropped from 10-20 minutes to 4-6 minutes. You can check out the Gradle Enterprise public instance here.