gradle-9

SKILL.md

Gradle 9 Upgrade

Upgrade from Gradle 8.x to Gradle 9.x with all required plugin updates.

When to Use

  • Recommended for all projects - Gradle 9.2.1 is now the standard
  • Upgrading to Java 25 (requires Gradle 9.x)
  • Need Gradle 9 features
  • Current Gradle 8.x plugins are deprecated
  • When asked to "prepare for Gradle 9"

Skill Contents

Sections

Available Resources

📚 references/ - Detailed documentation


Target Versions

Component Gradle 8.x Gradle 9.x Notes
Gradle 8.14.3 9.2.1 Recommended for all projects
Lombok Plugin 8.14.2 9.2.0 Freefair for Gradle 9.2.1
Spotless 6.x 8.1.0 Major bump
SonarQube 6.x 7.2.2.6593 Major bump
Develocity 0.1.x 0.2.8 Compatibility
Flyway 10.x 11.19.0 If used
jOOQ 9.x 10.1.1 If used
Protobuf 0.9.x 0.9.6 Gradle 9 compatible

Quick Start

1. Update Gradle Wrapper

./gradlew wrapper --gradle-version=9.2.1

2. Update Plugin Versions

# gradle/libs.versions.toml
[plugins]
lombok = "io.freefair.lombok:9.2.0"
spotless = "com.diffplug.spotless:8.1.0"
sonarqube = "org.sonarqube:7.2.2.6593"
protobuf = "com.google.protobuf:0.9.6"
// settings.gradle
plugins {
    id 'bitso.develocity' version "${develocityPluginVersion}"  // 0.2.8
    id 'org.sonarqube' version "${sonarqubePluginVersion}"      // 7.2.2.6593
}

3. Add JUnit Platform Launcher

Required for JUnit 5.11+ with Gradle 9:

subprojects {
    plugins.withType(JavaPlugin).configureEach {
        dependencies {
            testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
        }
    }
}

4. Validate

./gradlew clean build test

References

Reference Content
references/plugin-compatibility.md Plugin version mappings and known issues

Plugin Migration Details

Lombok Plugin (Freefair)

# Old (Gradle 8.x)
lombok = "io.freefair.lombok:8.14.2"

# New (Gradle 9.x)
lombok = "io.freefair.lombok:9.2.0"

Requires Lombok 1.18.42 for Java 25 bytecode support:

lombok {
    version = libs.versions.lombok.get()  // 1.18.42
}

Spotless

# Old (Gradle 8.x)
spotless = "com.diffplug.spotless:6.x"

# New (Gradle 9.x)
spotless = "com.diffplug.spotless:8.1.0"

For Java 25 formatting, use palantir-java-format 2.74.0.

SonarQube

# Old (Gradle 8.x)
sonarqube = "org.sonarqube:6.x"

# New (Gradle 9.x)
sonarqube = "org.sonarqube:7.2.2.6593"

Related Skills

  • spring-boot-3-5 - Upgrade Spring Boot first
  • java-25 - Java 25 requires Gradle 9
Weekly Installs
7
GitHub Stars
36
First Seen
Jan 24, 2026
Installed on
claude-code5
opencode4
antigravity4
windsurf4
codex4
gemini-cli4