I understand that lein deps :tree
displays a dependency tree of all the project dependencies (implicit and explicit). However, "each dependency is only shown once within a tree." I'd really like to see a tree where this wasn't the case, and that if libraries A
and B
require library X
, library X
shows up under both A
and B
.
Does anyone know how to do this with lein
or some other tool?
You can generate Maven's POM out of Leiningen's project definition and then use Maven's dependency:tree
plugin with a verbose
option, like this:
$ lein pom
$ mvn dependency:tree -Dverbose=true
This will list dependencies omitted for various reasons, e.g.:
| +- ring:ring-core:jar:1.4.0:compile
| | +- (org.clojure:clojure:jar:1.5.1:compile - omitted for conflict with 1.7.0)
| | +- (org.clojure:tools.reader:jar:0.9.1:compile - omitted for conflict with 0.10.0-alpha3)
| | +- (ring:ring-codec:jar:1.0.0:compile - omitted for duplicate)
For more options to dependency:tree
see its documentation.
This can now be done using leiningen by lein deps :tree
. Note the space between deps and :tree.