lein-tools-deps
lein-tools-deps copied to clipboard
Cannot exclude transitive dependencies two layers deep
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.