February 2023
Table of Contents
Introduction
Welcome to the February 2023 Gradle Build Tool newsletter.
First of all, the next major release of Gradle Build Tool is out. The 8.0 release culminates a series of major improvements in the 7.x line and improves Kotlin DSL, configuration cache, and user home cache cleanup, along with many bug fixes and other general improvements.
As always, there is a lot of news from the community, including the new article from Square, Stampeding Elephants, about the triumphant ride to faster-than-ever build despite adding a million lines of code.
From the Community #
GradleX Build Parameters Plugin to describe build parameters using a rich DSL and explore available parameters by running the parameters task:
Blog posts #
- Stampeding Elephants — makes the data-driven case for best practices and against silver bullets
- How to Write and Use a Custom Gradle Plugin — provides an introduction to how a custom Gradle plugin can be written as a standalone project
- Custom Gradle Plugin for Unified Static Code Analysis — describes an uncomplicated approach to automating code style rules checking in different repositories
- Gradle’s Flexibility in Action — shows how one can leverage Gradle’s flexibility to support what seemed to be a complicated use case
- Unlocking the Power of Gradle — shares how to deal with lock problems easily
Videos #
- Understanding Gradle #29 – Detect and Resolve Collisions on a Classpath — gives examples of how to avoid potential classpath collisions
- How to Setup Gradle for Profiling for Success and Profit — rolls up useful profiling research and experimentation results
Plugins #
- Version Compatibility Gradle Plugin — sets up a compatibility test suite against given versions of one or more dependencies and sets up source sets to create compatibility adapters for different versions of a dependency.
- GradleX Build Parameters Plugin — adds the
Parameters
task to the latest release, which allows developers to inspect existing parameters defined in the build and a safeguard that fails the build in case an unknown parameter is passed to the build - GradleX Java Ecosystem Capabilities Plugin — enables Gradle to detect and automatically resolve typical dependency conflicts in the Java Ecosystem (this plugin is newly released under the GradleX namespace)
From Gradle Team #
Blog #
- Protecting Project Integrity — explains how to protect your project or you, as a developer, against similar attacks from wrappers attacks
- Gradle Wrapper Attack Report — provides an analysis of two unusual and suspicious Gradle wrapper JARs found in some MinecraftOnline repositories
Podcast #
- A Bootiful Podcast: Dr. Amanda Martin, Gradle Developer Advocate — shares Josh Long’s take on the latest Gradle trends and why Developer Productivity Engineering is being embraced
Gradle Build Tool 8.0 #
Gradle 8.0 has been released!
This release reduces the time spent compiling Kotlin DSL build scripts and upgrades the Kotlin DSL’s API level to Kotlin 1.8.
From the first invocation, the configuration cache speeds up builds by executing more tasks in parallel compared to the existing parallel mode.
Additionally, the size of the Gradle user home can be managed by configuring the retention time of cache directories. Cache cleanup can also be disabled.
Gradle 8.0 has many bug fixes and other general improvements. As a major version, this release also has changes to deprecated APIs and behavior. Consult the Gradle 7.x upgrade guide for guidance on removed APIs and behavior.
See the release notes for details.
Careers #
If you share our passion for developer productivity and tooling, consider joining our globally distributed team and check out our job openings at gradle.com/careers. We are looking for a solutions engineer, an application security engineer, and other roles, including a new position for a software engineer who wants to become a technical writer.
Upcoming Events #
See the Gradle Training webpage for an up-to-date list of all upcoming educational and training events. Here is a highlight of some of the next ones:
- February 28, 12:00 pm - 4:00 pm (US EDT): Virtual Training — JVM Builds with Gradle Build Tool
- March 1, 12:00 pm - 4:00 pm (US EDT): Virtual Training —JVM Builds with Gradle Build Tool
- March 7, 10:00 am - 2:00 pm (US EDT): Virtual Training — Advanced Dependency Management - EMEA
- March 8, 12:00 pm - 2:30 pm (US EDT): Virtual Training — Advanced Dependency Management
- March 16, 12:00 pm - 1:30 pm (US EDT): Virtual Training — Configuring Gradle Build Tool with Kotlin
- March 28, 12:00 pm - 4:00 pm (US EDT): Virtual Training — Introduction to Gradle Build Tool
If you have news you’d like us to share in the next issue, use #gradle on your favorite social media platform or email us with the details to _newsletter@gradle.com. We are also now on Mastodon._
Until next time!
—The Gradle Build Tool Team