March 2024
Table of Contents
Introduction
Welcome to the March 2024 Gradle Build Tool newsletter! What’s up in GradleUP? And what’s next in GradleX? See the updates from the Gradle team and the community below. Join us for the upcoming in-person and online events!
From the Community #
Blog Posts #
- Stable Release of Android Studio Iguana🦎 by Neville Sicard-Gregory. See more below!
- Gradle Goodness: Using Environment Variables Lazily by Hubert Klein Ikkink
- Gradle Goodness: Using System Properties Lazily by Hubert Klein Ikkink
- Gradle Goodness: Organizing Tasks Using the Task Container by Hubert Klein Ikkink
- Hands-On: Using Gradle to Create a Framework to Your Project by Eduardo Rost
- What’s Better to Resolve Legacy JAR Hell? Maven or Gradle? by Alperen Kethudaoğlu
- Using the OpenAPI Generator Gradle Plugin by Young Shean
- Implementing Version Catalogs in Android by Carlos Alberto Graniel Córdova
Videos, Slides, and Live Demos #
- The Easy Way to Migrate to Gradle Version Catalog by Charfaoui Younes
- Modern Dependency Management With Version Catalogs - Android Studio Tutorial by Philipp Lackner
- HOWTO: Upgrade Transitive Dependencies With the Moderne Platform by the Moderne team
- Using Quarkus and Dev Services in Gradle Projects, with WireMock as an example, by Oleg Nenashev (demo repo)
From the Gradle Team #
Gradle 8.5 and 8.6 Releases Overview #
In February 2024, we released Gradle Build Tool 8.6. We invited our engineers to record overviews and demos for key updates in those releases, including new features, APIs, and documentation. See the full release video here.
The Gradle 8.5 and Gradle 8.6 release notes are available on our website. Thank you to the 50+ contributors for their work in these releases. Let us know your thoughts about the new features in the YouTube video comments or Community Slack.
Declarative Gradle Updates #
The team continues to work on Declarative Gradle, a new project we announced in November 2023. We published a new set of Unified Plugin Prototypes. These include experimental plugins for JVM, Android, and Kotlin Multiplatform projects built using “unified” plugins that all utilize a similar model and are implemented using the Declarative DSL.
To those who are eager to try out Declarative Gradle, stay tuned! The project remains experimental and is not yet ready to test. At the same time, feedback is welcome. We launched discussion channels for Declarative Gradle: #declarative-gradle
channel on the Gradle Community Slack and the dedicated category on Gradle Forums.
Google Summer of Code #
This year, the Kotlin Foundation and the Eclipse Foundation were accepted to Google Summer of Code (GSoC). We are working with other members of those foundations on a few Gradle project ideas and looking for interested contributors and potential mentors. Here is the current list of project ideas:
- Kotlin DSL improvements for Declarative Gradle - Kotlin Foundation, Medium difficulty, 175 hrs
- Gradle Build Server – support for Android projects - Kotlin Foundation, Medium or Hard difficulty, 175 hrs or 350 hrs
- Kotlin DSL documentation samples test framework - Kotlin Foundation, Easy or Medium difficulty, 90 hrs or 175 hrs
- Improve Buildship project and classpath generation - Eclipse Foundation, Easy difficulty, 175 hrs or 350 hrs
- Make Buildship independent from the Eclipse Gradle plugin - Eclipse Foundation, Medium or Hard difficulty, 175 hrs or 350 hrs
- Eclipse and Gradle Build Server - Eclipse Foundation, Medium or Hard difficulty, 175 hrs or 350 hrs
Contributors are welcome to suggest their own ideas too. For those interested in participating as a contributor this year, we published a page with the application guidelines and pointers here.
New Documentation Feedback Form #
We introduced new feedback forms in the user manual. Now, you can provide feedback and submit GitHub issues using the pre-configured templates. We also plan to make it easier to submit short patches soon.
Community Support and Conversation Channels #
We’re enhancing community support and communication channels in Gradle to ensure everyone has the best possible experience participating in the community. We launched new #declarative-gradle and #github-integrations channels on the Community Slack. We also revitalized the #developer-productivity-engineering channel, which can be used for any DPE discussions. Tool hackers are welcome!
Based on the feedback, we published Community Slack communication best practices. Follow them to locate the right channel for questions and ask questions in a way that can be quickly handled by volunteers doing community support.
If you have any ideas about how we could improve the community experience, please share your ideas on the new gradle/community repository. We have a public board for planned and ongoing community initiatives — any ideas are welcome!
Android Studio Iguana #
This month, the Google team launched Android Studio Iguana 🦎 in the stable release channel. This release brings several improvements to Gradle integrations, including streamlined support for version catalogs that are now used by default in new projects. Read more in this announcement blog post.
Community Plugin Highlights #
GradleX Plugins Improvements #
The latest release of the GradleX Extra Java Module Info plugin now supports automatically generating complete module-info.class files for libraries that do not yet provide one. The content of the module-info.class is computed from the library’s metadata.
New versions of the GradleX Java Module Dependencies and Java Module Testing plugins are also available.
Gratatouille: Gradle Plugin as a Kotlin Function #
Martin Bonnin, who contributes to the GradleUp project, announced Gratatouille, a framework for building Gradle plugins via pure Kotlin functions. Then, the Gratatouille KSP processor generates tasks, workers, and wiring code for you. “Gratatouille enforces a clear separation between your plugin logic (implementation) and your plugin wiring (gradle-plugin), making your plugin immune to classloader issues.”
You can find Gratatouille’s source code and documentation in the project repository. We also invite you to share feedback on the Gradle Forums Discussion. And here’s a delicious code sample:
Other Honorable Mentions #
- New Gradle OCI Plugin is announced. It allows producing (multi-arch) OCI-compliant (a.k.a Docker) images without requiring external tools. In the same project, you can use those images in Testcontainers or other container-focused Gradle plugins.
- JetBrains announced early access for IntelliJ Platform Gradle Plugin 2.x for building, testing, verifying, and publishing plugins for IntelliJ-based IDEs. If you develop plugins for IDEA or other JetBrains IDEs, your feedback is welcome here.
- The Helix editor will soon provide syntax highlighting when editing Gradle Groovy scripts. The changes will become available with the next Helix release.
- Asciidoctor Gradle Plugin Suite documentation is now included on the official Asciidoc Documentation Site
Upcoming Events #
- April 09, Hosted Event - DPE Tour: Atlanta.Meet Gradle’s Brian Demers and Trisha Gee, plus Roberto Perez Alcolea from Netflix and Danny Duval from Delta!
- April 9-11, Community Event - DevNexus. Hear from Brian Demers on “Apache Maven 102: Best Practices”, Trisha Gee on “Are Your Tests Slowing You Down?” and Baruch Sadogursky on “Coding Fast and Slow: Applying Kahneman’s Insights to Improve Development Practices and Efficiency.”
- April 17, Hosted Event - DPE Tour: New York City. Speakers from LinkedIn, Netflix, and Microsoft will share their Developer Productivity journeys
- April 17-19, Community Event - Devoxx France. Meet the Gradle team at the booth, workshops, and conference talks on Gradle and developer productivity!
- April 16-17, Community Event - DevopsDays Zurich. Oleg Nenashev will speak on public roadmaps for open-source communities
- April 22-26, Community Event - JAX 2024 in Mainz or Online
- April 23, Community Event - Shift Miami. Baruch Sadogursky will speak on “DevOps for developers (or maybe against them?!)”
- September 24-25, Hosted Event - DPE Summit. Discover the only event dedicated to the practice of Developer Productivity Engineering (DPE) and Developer Experience (DX).
DPE Summit Call for Papers #
As in previous years, Gradle will be hosting DPE Summit - an event dedicated to Developer Productivity Engineering (DPE) and Developer Experience (DX). The Summit will be held on September 24-25 in San Francisco. At this event, you can meet many expert DPE practitioners from top engineering teams, fellow Gradle users, and other community members.
If you’d like to share your developer productivity stories, Gradle Build Tool or not, please submit your talk! Super Early-Bird tickets priced at $199 are also now available for anyone interested.