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?
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."
This can now be done using leiningen by lein deps :tree. Note the space between deps and :tree. Show activity on this post. 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:
This is where the maven dependency plugin comes into the resue. dependency:tree comes with two filters to help us include or exclude specific dependencies while displaying the tree. We can use the includes filter to specify a list of artifacts to include in the dependency hierarchy.
Displaying the maven dependencies tree in Eclipse is pretty simple and takes less than 10 seconds. To accomplish that, we need to open the pom.xml of our project and then click on the Dependency Hierarchy tab: Sometimes, we may find ourselves working on a project that uses a lot of dependencies. So, managing all of them can be a real nightmare.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With