Gradle Enterprise 2020.5

Gradle Enterprise 2020.5 features distributed testing for Maven builds. Gradle Enterprise Test Distribution executes your existing test suites faster by distributing across as many machines as you provide, all without invasive build restructuring.

New build cache normalization options allow you to improve build speed by increasing your build cache hit rate.

Read on for more details.

Use version 1.8.1 of the Gradle Enterprise Maven extension, version 3.5.1 of the Gradle Enterprise Gradle plugin, version 1.3.1 of the Gradle Enterprise Test Distribution Gradle plugin, and version 1.3.1 of the Gradle Enterprise Test Distribution Agent for optimal usage of Gradle Enterprise.

Highlights

Test distribution for Maven builds

Test distribution was introduced for Gradle builds in Gradle Enterprise 2020.2 and is now also available for Maven builds. Part of the testing add-on package, it allows you to distribute the execution of your build’s tests to as many compute resources, called agents, as you can provide.

After applying the Gradle Enterprise Maven extension to your Maven build, any existing test suite using the maven-surefire-plugin or maven-failsafe-plugin can be configured to be distributed. The extension ships your tests and their full runtime classpath to any available agents that are registered with your Gradle Enterprise server to be executed there. Test results are shipped back to the build and are available in build scans and existing reporting such as the results XML file used by many CI servers. If no agents are available, test execution proceeds locally.

See the Gradle Enterprise Maven Extension User Manual and Gradle Enterprise Test Distribution Agent User Manual to learn more and get started with test distribution.

Test distribution is available in Gradle Enterprise 2020.5 as a preview of the testing add-on package. Depending on your usage license, this new functionality may not be available to your installation when it is no longer in feature preview. If you have questions regarding this matter, please contact Gradle Enterprise support.

Improved build cache effectiveness via new inputs normalization features

Gradle 6.8 adds powerful new features for increasing build cache effectiveness that allow ignoring certain properties within Java properties files and ignoring empty directories. Both features are also available for Maven builds when applying version 1.8 of the Gradle Enterprise Maven Extension.

More information on how to configure goal inputs normalization can be found in the Gradle Enterprise Maven Extension User Manual.

This feature requires Gradle Enterprise Maven Extension 1.8+.

Upgrade notes

If upgrading from a version of Gradle Enterprise prior to 2020.4, be sure to also consult the release notes for all interim versions.

Temporarily degraded performance due to data reindexing

Upon upgrading, a data reindexing process will be initiated in the background with Gradle Enterprise being usable for its duration. CPU usage will be increased and performance may be slightly degraded. For large installations storing many build scans, the reindexing process may take several hours. During this time, some builds may be omitted from cross-build data visualizations. Recent builds are prioritized, making their data available sooner.

Changes

Dec 17, 2020
  • [FIX] - Excessive native memory use destabilizes system when Export API is used
  • [FIX] - Build phase performance timings for some Gradle composite builds are inaccurate
  • [FIX] - Build phase performance timings for task-graph-calculation of Gradle builds is inaccurate
Dec 08, 2020
  • [FEATURE] - Test distribution for Maven builds
  • [FEATURE] - Java properties file normalization of Maven goal inputs
  • [FEATURE] - Empty directory normalization of Maven goal inputs
  • [FIX] - Build phase durations for certain Gradle composite build structures are incorrect
  • [FIX] - Gradle deprecations section is slow to interact with when there are many deprecations
  • [FIX] - Gradle timeline section is slow to interact with when there are many tasks
  • [FIX] - Navigating between dashboards using the browser back button may cause browser error
  • [FIX] - Database index check incorrectly logs errors when index was intentionally removed
  • [FIX] - Airgap installation for Kubernetes environment may fail in some circumstances