i'm quite new to using clj
and i'm attempting to get my feet under me with regards to how all the aliases/deps/paths keys work together.
is there any functional difference between -Stree
and -X:deps tree
? the docs mention them together and make no distinction between the two other than -X:deps
"has more options".
i'm finding with a super simple deps.edn
file -Stree
and -X:deps tree
return different trees:
;; deps.edn (i've also tried this same config using `-Sdeps '...'`)
{:aliases {:1.10 {:override-deps {org.clojure/clojure {:mvn/version "1.10.0"}}}}}
➜ clj --version
Clojure CLI version 1.10.3.814
➜ clj -Srepro -Sforce -A:1.10 -Stree
org.clojure/clojure 1.10.0
. org.clojure/spec.alpha 0.2.176
. org.clojure/core.specs.alpha 0.2.44
➜ clj -Srepro -Sforce -A:1.10 -X:deps tree
org.clojure/clojure 1.10.3
. org.clojure/spec.alpha 0.2.194
. org.clojure/core.specs.alpha 0.2.56
the -Stree
result is the tree i would expect to see given my aliases814 appears to fix the git fetch issues, I don't see problems in Cursive or at the CLI now
Yes, these are different. -Stree shows you the tree for the classpath being run, including aliases or other modifiers on the command line
-X:deps tree is running a tree program that computes the tree for the project.edn (command line modifiers are not considered)
by project.edn
do you mean <project>/deps.edn
?
also a blank -Stree
's output should be equivalent to -X:deps tree
?
Sorry, yes I meant project deps.edn
And yes, should be the same
awesome thanks for the clarification