July 2024
Table of Contents
Introduction
Welcome to the July 2024 Gradle Build Tool newsletter! Learn about the early access release of Declarative Gradle, an update on the Configuration Cache project, new presentations and videos by Gradle Community members, and other updates in the ecosystem.
From the Community #
Videos and Live Demos #
- Gradle at Scale with GitHub and GitHub Actions with Bartosz Gałek from Allegro
- Build Lifecycle Observability with Gradle and Develocity with Roberto Perez Alcolea from Netflix - Build Propulsion Lab at DPE Tour London
- Gradle - sharing and tuning the build logic among monorepos by Jiří Mikulášek at the Kotlin Server Squad meetup
- Applied Gradle: One Test, Multiple Implementations by Sebastian Sellmair
- Coding Fast and Slow by Baruch Sadogursky at Devoxx Poland
New Releases #
- Starting from version 2024.2 EAP 6, IntelliJ IDEA improves developer experience for Gradle build script authoring (announcement blog post)
From the Gradle Team #
Declarative Gradle - Early Access Preview (EAP) #
We are happy to announce the first Early Access Preview (EAP) release of Declarative Gradle. The project is now ready for initial feedback from the community. Note that Declarative Gradle remains an experimental project and is not ready for adoption.
With this EAP, we are providing an early preview of the following:
- A new declarative configuration language that’s Kotlin-like and can be used side-by-side in projects using the current Gradle DSLs
- Initial support for Android, Kotlin, and Java software types
- Initial IDE integration in Android Studio with syntax highlighting and code completion
- Demonstration of what future tooling can do
Check out the announcement by the Declarative Gradle engineering team for more details.
If you are an Android, Kotlin, or Java developer and you’re curious about the very latest developments in Gradle, give Declarative Gradle a try!
Gradle 8.9 Release #
We released Gradle Build Tool 8.9 on July 11. Apart from the experimental Declarative Gradle components mentioned above, this release includes a number of quality-of-life improvements, including better error reporting for variant selection problems, structured errors for Java compilation for IDE integrations, Gradle Daemon JVM information, and many bug fixes!
Learn more about the changes in the release notes.
Gradle 9.0 - Revised Configuration Cache Adoption Plan #
We continue to progress toward making the Configuration Cache the only way Gradle runs builds. While it offers many benefits—like reduced configuration time and intra-project parallel task execution—it also imposes additional constraints on build logic and may subtly change the execution order. Based on our assessment of the potential impact, we’ve decided not to enable the Configuration Cache by default in Gradle 9.0, as originally announced.
Instead, in Gradle 9.0, the Configuration Cache will become the preferred mode of operation:
- Users will be required to explicitly choose whether to enable the Configuration Cache, promoting greater awareness and adoption.
- Opting out will be immediately deprecated, reinforcing its status as the preferred choice.
For more information and updates, follow the Gradle public roadmap issue here.
Gradle 8.8 Release Video #
In June, we released Gradle Build Tool 8.8. The release video, which provides an overview of the new functionality by Gradle engineering team members and external contributors, can be found here. Learn more about the changes in the release notes.
Develocity Updates #
- Develocity improves observability capabilities with the new Reporting and Visualization feature - Announcement Blog Post, Slides by Nelson Osacky
- Develocity and the associated Gradle Build Tool support are now available on the Google Cloud Marketplace - Press Release, Google Cloud Marketplace page
JCenter Shutdown and Its Impact on the Gradle Plugin Portal #
JFrog has confirmed that JCenter will become a permanent redirect to Maven Central. Gradle Plugin Portal used to behave as a JCenter proxy, but starting July 15, 2024, it is now a Maven Central Proxy. It is important for the Gradle Plugin Portal users to understand the impact of that decision on the portal and their builds, so we published a blog post with an overview of the changes, their impact, and the upgrade guidelines.
Users still directly using JCenter should also refer to our original blog post about the changes in JCenter and their impact on Gradle builds in general.
GSoC Project Updates #
We’ve reached the first evaluation stage for our Google Summer of Code projects. On July 12, we hosted presentations by GSoC contributions, including project updates, learnings, and deliverables. The video is available here.
Short updates by the GSoC contributors:
- Gradle Build Server – Support for Android projects by Tanish Ranjan. Tanish is working on enabling composite builds in Gradle Build Server (PR #160, PR #154), and also on better support for JVM selection and troubleshooting (issues #75 and #76)
- Gradle Build Server - DevX and Language Support in Buildship by Sidhaarth Saraswathi Ramalingam. He started adding key functionality to the Build Server Protocol (BSP) to allow use from Eclipse Buildship. The cancellation support (PR #157) is nearing completion. Other explored deliverables are delegation of task execution and Gradle synchronization in Eclipse Buildship.
- Declarative Syntax and Enhancements for the Checkstyle Plugin by Hongjie (Jay) Wei: Jay started the first part of the project by detaching the Checkstyle Plugin from the main gradle/gradle repository. In his fork, JayWei1215/checkstyle, he is working on extracting unit and integration tests (PR #10) to create the buildable project.
Thanks to all the contributors for working on their projects and sharing their learnings with the community! See the project pages for more details. The first evaluation results will be announced in late July.
Upcoming Events #
Featured Gradle Webinar: “Gradle Artifact Transforms” on August 15 #
We are happy to announce our next Gradle webinar on August 15: “Gradle Artifact Transforms and deeper build insights” presented by Nelson Osacky and Iñaki Villar.
Join the webinar to learn:
- The basics of Artifact Transforms
- Demo implementation of a simple Artifact Transform
- How to integrate this with Gradle’s caching mechanism
- Tips for making Artifact Transforms a more effective and efficient part of your build process
- Real-world use cases of using Build Scan insights on Artifact Transforms to address build process bottlenecks
Register now to save your spot!
In-Person Events #
Check out Gradle’s upcoming community and hosted events. Say hi to us at our booth and catch our speaking slots! We hope to see you at an event soon.
- September 4-5, Community Event - JavaZone
- September 9-11, Community Event - SwampUp
- September 19-20, Community Event - droidcon New York
- September 24-25, Hosted Event - DPE Summit - Discover the only event dedicated to the practice of Developer Productivity Engineering (DPE) and Developer Experience (DX)
- September 30-October 1, Community Event - Open Source in Finance Forum
- Oct 07-11, Community Event - Devoxx Belgium. Meet the Gradle Build Tool team there
- Nov 05-07 and 12-14, Community Event - API:WORLD in Santa Clara and Online. Laura Kassovic, Baruch Sadogursky, and Oleg Nenashev will speak about OpenAPI extensibility and developer productivity