Gradle silently resolves version conflicts by picking the highest version, making it hard to detect and trace dependency issues until they cause runtime failures. A new open-source Gradle plugin called Dependency Conflict Analyzer automatically analyzes the dependency graph on every sync, reports all version conflicts, and shows the full dependency path for each conflicting version — including which modules and declarations introduced each version. Unlike the built-in dependencyInsight task, it requires no manual invocation and covers all conflicts at once. The plugin hooks into afterResolve on compile classpath configurations, walks the resolved graph, and prints an aggregated report. It is available on the Gradle Plugin Portal and installable via a single line in build.gradle.kts.
Table of contents
The ProblemThree scenarios, one causeWhy it happens and why it’s hard to findThe SolutionWhat the plugin showsGet Daniil Chernyaev ’s stories in your inboxWhat the output looks likeSort: