tools-deps

Discuss tools.deps.alpha, tools.build, and the clj/clojure command-line scripts! See also #depstar #clj-new
nate 2020-11-11T03:15:51.378Z

Where are all the places you can use an alias keyword to interpolate data from aliases? I've seen examples in :paths and :exec-args, and I'm wondering how far the rabbit hole goes...

alexmiller 2020-11-11T03:18:00.378200Z

those are it right now

nate 2020-11-11T03:21:00.378600Z

cool

nate 2020-11-11T03:21:15.379Z

thank you

2020-11-11T09:30:30.380800Z

I'm looking for a tool that will help pull out unnecessary :exclusions - ie keeping the set of resolved dependencies unchanged for some combination of aliases. anyone know of such a thing? thanks

borkdude 2020-11-11T10:08:44.381300Z

@henryw374 I once diagnosed a dependency problem like this using clojure.spec: https://github.com/borkdude/dependency-problem

1
2020-11-11T12:09:53.383500Z

another thing I'm looking for is a documented description of how deps chooses which version of a dependency to use. I expect it's there but I just can't see it on http://clojure.org and so far google has failed

2020-11-11T12:15:03.383600Z

https://github.com/clojure/tools.deps.alpha/blob/master/src/main/clojure/clojure/tools/deps/alpha/extensions.clj#L95-L104 the best place I can think of) and there is how this defmulti is implemented for different coordinate type https://github.com/clojure/tools.deps.alpha/search?q=compare-versions

2020-11-11T12:27:08.383900Z

thanks

alexmiller 2020-11-11T13:08:16.385900Z

I did a talk at the conj about it, that’s probably the best description right now. The summary though is that it tries to use the newest version it can.

alexmiller 2020-11-11T13:09:02.386500Z

But top level dep versions always win

alexmiller 2020-11-11T13:10:42.386700Z

https://youtu.be/7CM7Ef-dPWQ

2020-11-11T13:17:34.387200Z

gottit! thanks

2020-11-11T14:46:48.387300Z

"the newest version it can" could be easily misinterpreted as "the newest version available on Maven central and/or Clojars", e.g. similar to behavior of using a -SNAPSHOT or -RELEASE version.

2020-11-11T14:47:52.387500Z

Would it be accurate (but slightly longer) to say "the newest version among all of those versions explicitly requested by at least one of your dependencies (but top level can override that)" ?

alexmiller 2020-11-11T14:53:55.387700Z

yes

imre 2020-11-11T14:57:33.388700Z

is there any way to tell the clj command to ignore my custom .clojure/deps.edn?

imre 2020-11-11T14:58:49.389100Z

ah, I may have found it, -Srepro