Check dependencies together.
Gradle resolves candidates with other dependencies, BOMs, constraints and Java/variant requirements. A newer version can be available without being accepted by the current build.
VERSION CHECKS / SOURCE EDITS
Check dependencies, BOMs, constraints, plugins and the wrapper for newer versions. Select updates in the terminal and write them back to your source files.
JAVA 21+ / GRADLE 8.8+ / APACHE-2.0
$ ./gradlew depLensCheck
Checking versions with dependencies and constraints
2.0.0 available · outside the minor policy
Managed dependencies follow their BOM
$ ./gradlew depLensInteractiveUpdate
01 / VERSION SELECTION
Choose catalog versions below.
See the resulting TOML changes.
Illustrative demo. No files are written.
| Version source / consumers | Policy | Target version |
|---|---|---|
| libraryorg.example:library 2 consumers | minor | |
| stackorg.example:stack-bom BOM | major | |
| toolorg.example.tool | minor | |
| legacyorg.example:legacy | pinned | 1.0.0 — protected |
All rows start at Current. Select a version to see its change in the diff.
This demo writes no files. In DepLens, Enter writes selected version values after checking source files for concurrent changes. No build, tests or automatic rollback follow.
Recommended passed the example build checks. Latest allowed follows update rules and may need changes to build restrictions.
02 / HOW CHECKS AND EDITS WORK
Full checks resolve candidate versions with the other dependencies and rules of each consuming build.
Resolution checksGradle resolves candidates with other dependencies, BOMs, constraints and Java/variant requirements. A newer version can be available without being accepted by the current build.
A catalog key, property or variable gets one choice for all checked components using it. A pinned, failed or unchecked component prevents editing that shared value.
DepLens preserves comments and formatting and checks for concurrent edits before writing. A wrapper update also replaces its existing distribution checksum.
03 / INSTALLATION
Java 21+. Gradle 8.8+.
macOS or Linux for interactive updates.
plugins {
id("com.sneedit.deplens.settings") version "0.1.0"
} plugins {
id 'com.sneedit.deplens.settings' version '0.1.0'
} # Check all component types without editing files.
./gradlew depLensCheck
# Select versions in the terminal and apply changes.
./gradlew depLensInteractiveUpdate
# Show source locations and resolution diagnostics.
./gradlew depLensCheck --info 04 / UPDATE RULES
This example allows minor dependency updates, limits the org.example group to patches and keeps org.example:legacy at its current version.
It also makes check tasks fail if inventory or update checks are incomplete. The JSON report is written before the task fails.
Rule scopes and precedencedepLens {
dependencies { allowedUpdates.set("minor") }
rules {
group("org.example") {
allowedUpdates.set("patch")
}
dependency("org.example:legacy") {
pinned.set(true)
}
}
failIfChecksIncomplete.set(true)
} depLens {
dependencies { allowedUpdates = 'minor' }
rules {
group('org.example') {
allowedUpdates = 'patch'
}
dependency('org.example:legacy') {
pinned = true
}
}
failIfChecksIncomplete = true
} 05 / CONFIGURATION REFERENCE
Find each option’s default, supported scope and behavior, with Kotlin and Groovy configuration examples.
SOURCE, EXAMPLES AND ISSUES