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
Generate and polish release notes for an Armeria version. Runs site/release-note.ts to collect PR data from a GitHub milestone, then rewrites the skeletal output into publication-ready MDX. Invoked as `/release-note <version>` (e.g., `/release-note 1.38.0`).
Systematically audits any Armeria-based Java project for event loop blocking issues — discovers project patterns, scans for blocking operations, traces call chains, and produces a fix plan without modifying code. Use when experiencing latency spikes, connection timeouts, deadlocks, or thread starvation in Armeria services, or as a pre-release audit. Invoked as `/eventloop-audit` for the full project or `/eventloop-audit <path>` for a specific directory.
| 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 Armeria project step by step.
Armeria 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.
| Java Version | Modules |
|---|---|
| 8 | core, brave5, brave6, eureka, grpc, grpc-kotlin, graphql-protocol, jetty9, junit4, junit5, kafka, kotlin, logback, logback12, logback13, micrometer-context, oauth2, prometheus1, protobuf, reactor3, resteasy, retrofit2, rxjava2, rxjava3, sangria, scala*, spring:boot2-*, dropwizard2, thrift0.9–thrift0.17, tomcat8, tomcat9, xds, zookeeper3, saml, bucket4j, consul, nacos |
| 11 | athenz, graphql, jetty10, jetty11, kubernetes, logback14, thrift0.18–thrift0.22, tomcat10 |
| 17 | ai:mcp, jetty12, resilience4j2, spring:boot3-*, spring:spring6, spring:boot4-*, spring:spring7 |
When in doubt, check settings.gradle for the java, java11, or java17 flag on each subproject.
./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 upgrade Caffeine to 3.x that requires Java 11.
caffeine = "2.9.3"
# Upgrade once https://github.com/ronmamo/reflections/issues/279 is fixed.
reflections = "0.9.11"
# Ensure that we use the same ZooKeeper version as what Curator depends on.
zookeeper = "3.9.3"
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,
Reactor, 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)