There are several options when debugging dependencies.
You can use whatDependsOn <organization> <module> <revision>
command to see where the dependency is used.
For example I have a transitive dependency to org.apache.httpcomponents:httpcore:4.0.1
. To see what includes it I can use whatDependsOn
.
[play-slick-advanced] $ whatDependsOn org.apache.httpcomponents httpcore 4.0.1
[info] org.apache.httpcomponents:httpcore:4.0.1
[info] +-oauth.signpost:signpost-commonshttp4:1.2.1.2
[info] | +-com.typesafe.play:play_2.10:2.2.0
[info] | +-com.typesafe.play:play-java_2.10:2.2.0
[info] | | +-default:play-slick-advanced_2.10:1.0.1 [S]
[info] | |
[info] | +-com.typesafe.play:play-jdbc_2.10:2.2.0
[info] | | +-com.typesafe.play:play-slick_2.10:0.5.0.8 [S]
[info] | | +-default:play-slick-advanced_2.10:1.0.1 [S]
[info] | | +-org.virtuslab:unicorn_2.10:0.4 [S]
[info] | | +-default:play-slick-advanced_2.10:1.0.1 [S]
[info] | |
[info] | +-com.typesafe.play:play-slick_2.10:0.5.0.8 [S]
[info] | | +-default:play-slick-advanced_2.10:1.0.1 [S]
[info] | | +-org.virtuslab:unicorn_2.10:0.4 [S]
[info] | | +-default:play-slick-advanced_2.10:1.0.1 [S]
[info] | |
[info] | +-default:play-slick-advanced_2.10:1.0.1 [S]
[info] |
[info] +-org.apache.httpcomponents:httpclient:4.0.1
[info] +-oauth.signpost:signpost-commonshttp4:1.2.1.2
[info] +-com.typesafe.play:play_2.10:2.2.0
[info] +-com.typesafe.play:play-java_2.10:2.2.0
[info] | +-default:play-slick-advanced_2.10:1.0.1 [S]
[info] |
[info] +-com.typesafe.play:play-jdbc_2.10:2.2.0
[info] | +-com.typesafe.play:play-slick_2.10:0.5.0.8 [S]
[info] | +-default:play-slick-advanced_2.10:1.0.1 [S]
[info] | +-org.virtuslab:unicorn_2.10:0.4 [S]
[info] | +-default:play-slick-advanced_2.10:1.0.1 [S]
[info] |
[info] +-com.typesafe.play:play-slick_2.10:0.5.0.8 [S]
[info] | +-default:play-slick-advanced_2.10:1.0.1 [S]
[info] | +-org.virtuslab:unicorn_2.10:0.4 [S]
[info] | +-default:play-slick-advanced_2.10:1.0.1 [S]
[info] |
[info] +-default:play-slick-advanced_2.10:1.0.1 [S]
Just using sbt
I think the fact that the reports are produced is a cool and underestimated feature. They are generated in the target/resolution-cache/reports
directory, after the update
task.
This is step by step guide on how to use them.
Clean project

Run update
and go to target/resolution-cache/reports

Open any of the XML files with Firefox
This part is a bit tricky, for some reason some browsers will render the correct report, and some will read the file as an XML file. Not sure why it is like that, but for sure Firefox works well. Doesn't really matter which file you'll open as you can switch between them using tabs in the rendered page.
