Welcome to the July 2020 Gradle Build Tool newsletter.
This issue covers news from the community, highlights several blog posts by The Gradle Build Tool Team, and summarizes some of the changes available in the Gradle 6.5 release.
From the Community
- Changelog - a new plugin from JetBrains for managing changelogs
- FloorPlan - a new plugin for visualizing database evolution
- Nokee - the set of plugins for building native projects announced version 0.4
- Plugin Toolbox - a new set of plugins supporting the Gradle plugin development process
- Shadow - the popular plugin to create Fat Jars released a new major version 6.0.0
- Thrifty - a new plugin from Microsoft for integrating with the Apache Thrift software stack for Android
- Migrating Spring Boot’s Build to Gradle - shares how migration from Maven to Gradle made local build times 20-30 times faster and CI build 3-4 times faster
- Java Class Shadowing and Shading - explains the class shadowing problem in Java and how to implement shading in Gradle as one of the solutions
- Simpler and Safer Artifact Signing on CI Server with Gradle - discusses some of the challenges of releasing from CI, describes how to sign artifacts on CI with in-memory keys and advocates doing so for simplicity and increased security
- Git Repos as Gradle Dependencies - compares multiple ways to split codebases and recommends GradleGitDependencies plugin to consume Git repositories as dependencies
- Using Java Feature Previews with Gradle - describes how to enable Java feature previews like records in Gradle builds
- Faster Builds with Highly Parallel GitHub Actions - describes how to speed up CI builds by generating a build job for each - Gradle subproject and leveraging the build cache (we’ve been there ourselves but prefer Distributed Testing nowadays)
- Timeouts and Your Big Gradle Project - discusses different levels of timeouts for Gradle builds using built-in mechanism and Timeouts Enforcer Plugin
- How We Stay Up to Date with our Dependencies - shares a custom solution for semi-automated dependency version upgrades in a case not supported by Dependabot
- Gradle Plugins and Composite Builds - describes how to use composite builds for Gradle plugin development
- The Proper Care and Feeding of Your Gradle Build - discusses the Dependency Analysis Gradle Plugin
- Authoring Gradle Plugins for Readability, Maintainability and User Experience - demonstrates how to create declarative build scripts that are concise and maintainable
- Scaling Your Android Build (Part 1): Going Beyond Modularization with Gradle - provides tips and tricks on scaling Android builds
From The Gradle Build Tool Team
File System Watching
One of the most important aspects we consider in our mission to improve developer productivity is the fast feedback of incremental builds, especially in the IDE. In recent months, we’ve been working tirelessly to improve Gradle performance in such scenarios. Gradle 6.5 introduced experimental file-system watching. Another major experimental optimization called configuration cache is coming in Gradle 6.6. Stay tuned!
Gradle vs Bazel for JVM
Some teams have been asking us about the suitability of the Bazel build tool for JVM projects as an alternative to Gradle. We investigated this and summarized our findings in the Gradle vs Bazel for JVM projects comparison. Long story short - stick with Gradle for faster and easier to create and maintain builds.
Refining Issue Backlog
We introduced a stale issue bot in our bug tracker to automatically close old issues with no activity. In the event that an issue that is still affecting you gets marked as “stale” or closed, feel free to update or re-open it. So far this has helped our team tremendously to reduce the noise and focus our attention on valid and relevant defects.
Gradle’s Social Commitment
In a statement to our community published earlier this month entitled “Gradle Demands Accountability,” we expressed solidarity with the peaceful protesters demanding systemic changes to the treatment of people of color and how we plan to help. You can read the statement here.
Gradle 6.5 has been released. This release includes an experimental opt-in for file-system watching, a major improvement for speedy local incremental builds. Other changes include better dependency version ordering, new samples, and many bug fixes. See release notes for details.
- Aug 12 9:00 am PT (3.5 hours): Training: Gradle Build Cache Deep Dive
- Aug 19 9:30 am PT (2.5 hours): Workshop: Maximize Developer Productivity with Fast and Reliable Gradle and Maven Builds
- Sep 15-16 8:30 am PT (4 hours each day): Training: Intro to Gradle
- Sep 18 9:00 (3.5 hours): Training: Maven Build Cache Deep Dive
See the Gradle Training webpage for an up-to-date list of all upcoming educational and training events.
If you have some news you’d like us to share in the next issue, use
#gradle on Twitter or send us an email with the details to email@example.com.
Until next time!
—The Gradle Build Tool Team