I have the following when I run a dependency tree
+--- project :zift-core
| +--- com.hazelcast:hazelcast:4.0.1 -> 3.6.8
I even have this in my build.gradle file
force = true
How can I find out what artifact is downgrading the version to 3.6.8?
It is not an easy task. Some 3rd party API (Spring
io.spring.gradle:dependency-management-plugin, native BOM file support, etc) can magically alter Gradle behavior.
Copy dependency declaration parts to a simple project and start to eliminate dependencies and plugins until you find an offender ))
dependencyInsight task can sometimes be helpful in answering these types of questions.
./gradle dI --configuration compileClasspath --dependency hazelcast
dI option doesn’t work with
implementation dependencies. IOW, this will not work
./gradle dI --configuration implementation --dependency someDependency
implementation configuration is not resolvable. If you want to know why a compile dependency’s version is being downgraded, then you need to look at it from the perspective of the
compileClasspath configuration in order to get the complete picture.
implementation is just a container for declaring dependencies and is not the only configuration that makes up the compile classpath.
Ah, makes sense that it only works with resolvable configurations.