with one click
upgrade-deps
Upgrade Gradle dependencies and Gradle wrapper version
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Upgrade Gradle dependencies and Gradle wrapper version
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | upgrade-deps |
| description | Upgrade Gradle dependencies and Gradle wrapper version |
| disable-model-invocation | true |
This skill performs a full Gradle dependency upgrade for the Central Dogma project step by step.
Central Dogma is a multi-module project with different minimum Java version requirements. Before upgrading a dependency, always verify that the new version supports the minimum Java version required by the modules that use it.
The minimum Java version for each module is determined by two things:
settings.gradle (java, java17, etc.)gradle.properties (javaSourceCompatibility=11, javaTargetCompatibility=11)Resolution order in gradle/scripts/lib/java.gradle (extractTargetJavaVersion()):
java17 (or similar) flag → that version winsgradle.properties values → Java 11| Java Version | Modules |
|---|---|
| 11 | :client:java, :client:java-armeria, :client:java-armeria-legacy, :client:java-armeria-xds, :client:java-spring-boot2-autoconfigure, :client:java-spring-boot2-starter, :common, :common-legacy, :server, :server-auth:saml, :server-auth:shiro, :server-mirror-git, :testing:testing-common, :testing:junit, :testing:junit4, :xds, :javadoc, :benchmarks:jmh, :it:it-mirror, :it:it-server, :it:mirror-listener, :it:server-healthy-plugin, :it:zone-leader-plugin, :it:xds-member-permission, :it:xds-k8s-node-ip-extractor, :testing-internal, :webapp, :dist |
| 17 | :client:java-spring-boot3-autoconfigure, :client:java-spring-boot3-starter, :client:java-spring-boot4-autoconfigure, :client:java-spring-boot4-starter |
When in doubt, check settings.gradle for the java or java17 flag on each subproject,
and gradle.properties for the default javaTargetCompatibility.
./gradlew dependencyUpdates --no-parallel
The report is saved to build/dependencyUpdates/report.txt.
Read build/dependencyUpdates/report.txt to identify all outdated dependencies.
For each dependency, note the current version and the available latest version.
If a version looks ambiguous (unexpected format, major version bump, unusual naming), verify on Maven Central before proceeding: https://central.sonatype.com/artifact/{groupId}/{artifactId}
Before upgrading any dependency, check dependencies.toml for a comment directly above
its version entry. Many pinned versions have an explicit reason, for example:
# Don't update `json-path` version
json-path = "2.2.0"
# 3.0.0 requires java 17
json-unit = "2.38.0"
# Ensure that we use the same ZooKeeper version as what Curator depends on.
# See: https://github.com/apache/curator/blob/master/pom.xml
# (Switch to the right tag to find out the right version.)
curator = "5.9.0"
If such a comment exists and the reason still applies, skip the upgrade and do not remove the comment.
If no comment exists, proceed with the Java version compatibility check:
dependencies.toml# X.Y requires Java 11)Edit the [versions] section in dependencies.toml to update the version strings.
The file is located at the root of the repository: dependencies.toml.
After editing dependencies.toml, re-read the full diff (git diff dependencies.toml) and
cross-check every changed entry against the dependencyUpdates report:
Check the latest stable Gradle release at https://gradle.org/releases/ and update
gradle/wrapper/gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-X.Y.Z-all.zip
Run the full build including tests to catch both compilation errors and runtime regressions:
./gradlew build --no-daemon
If there are compilation errors, API breaking changes, or test failures caused by the upgrade, fix them before proceeding.
Create a commit with the exact message format below. Follow it strictly — do not add extra sections, reorder bullets, or change the structure:
Update dependencies
- {library-name} {old-version} -> {new-version}
- {library-name} {old-version} -> {new-version}
- Build
- {library-name} {old-version} -> {new-version}
- {library-name} {old-version} -> {new-version}
Rules:
- {name} {old} -> {new}- Build bullet groups build-only dependencies (testImplementation, annotationProcessor,
relocated libs, non-transitive deps); nest them as sub-bullets with 3-space indentgRPC-Java, Jackson, Netty, Kotlin,
Logback, Micrometer); otherwise use the key name as-is from dependencies.toml- Build section entirely- Unupdated section with the
reason. This helps reviewers know which upgrades were intentionally skipped.Example:
Update dependencies
- gRPC-Java 1.63.0 -> 1.64.0
- Jackson 2.17.0 -> 2.18.0
- Build
- checkstyle 10.14.0 -> 10.17.0
- ErrorProne 2.27.0 -> 2.28.0
- Unupdated
- Caffeine 2.9.3 -> 3.2.0 (requires Java 11)
- ZooKeeper 3.9.3 (pinned to Curator's version)