lein-tools-deps icon indicating copy to clipboard operation
lein-tools-deps copied to clipboard

Cannot exclude transitive dependencies two layers deep

Open AdamFrey opened this issue 6 years ago • 0 comments

I created a reproducible example repo, that has some more info in the README.

With a deps.edn that has exclusions for transitive dependency exclusions as below (ie clojurescript is not a direct dependency of uap-clj, but is a dependency of a dependency)

{:paths []
 :deps  {clj-http {:mvn/version "3.9.1" :exclusions [clj-tuple/clj-tuple ;; Transitive dependencies through potemkin
                                                     riddley/riddley]}
         uap-clj  {:mvn/version "1.3.3" :exclusions [com.taoensso/timbre ;; Transtive dependencies through russellwhitaker/immuconf
                                                     org.clojure/clojurescript]}}}

Running clj -Stree in the repo does not contain the excluded libraries, but lein deps :tree with lein-tools-deps set up does.

In my exploration of this issue I've found that the excluded transitive dependencies aren't present at the end of lein-tools-deps.plugin/resolve-dependencies-with-deps-edn, which seems to be correct behavior, but then they must get added sometime later by Leiningen internals.

AdamFrey avatar Aug 28 '18 14:08 AdamFrey