tools-deps

Discuss tools.deps.alpha, tools.build, and the clj/clojure command-line scripts! See also #depstar #clj-new
alexmiller 2020-11-25T22:33:25.069Z

I spent some time today hacking on a new deps tree that has a lot more info in it. in particular: • lists deps not in one place but in ALL places they're used (minus some stuff in a suppression list which defaults to clojure/spec/core.specs) • lists deps that are NOT included with reason why • special support for the case of discovering a newer version of a dep that was previously included during the expansion - these are marked with * and previously included have reason :superseded. this happens to be the locus of many tricky cases and bugs so often I'm looking specifically for this

👍 2
alexmiller 2020-11-25T22:33:45.069100Z

alexmiller 2020-11-25T22:34:33.070200Z

example ^^, interested if you have any feedback. not yet packaged for public use as I'm still tinkering

2020-11-26T13:04:22.072700Z

looks really useful! Presumably this info is also available as data via the tdeps api?

👍 1
alexmiller 2020-11-26T15:42:44.075300Z

Not really, it’s built from the trace log so technically yes, but haven’t decided yet how to break the steps apart yet

alexmiller 2020-11-26T15:43:02.076Z

What would you want to do with it as data?

2020-11-26T15:45:47.076200Z

I have no idea, beyond maybe visualising it. I just assumed that the rendering would’ve been built on top of such a representation.

borkdude 2020-11-26T19:13:49.078300Z

EDN (or XML? :)) output would be a nice to have, although currently I'm not using it programmatically

borkdude 2020-11-26T19:15:29.078500Z

Looks nice and useful!

alexmiller 2020-11-26T20:37:25.079700Z

Certainly feasible - would help to know what people would want to do with it

👍 1
2020-11-27T09:15:38.080100Z

I don’t know, I guess the most important data is the concluded set of deps you’re running with — which is obviously already available… You’re probably right that the reasons tools.deps made a versioning decision are something of secondary interest only. I guess if it were in data something like cursive or cider could use that info to annotate all the deps they know about in their UI trees etc.

2020-11-27T09:16:47.080300Z

I could certainly imagine people using such a tool in my editor or IDE, but the CLI interface you’ve made is totally sufficient for me.

2020-11-27T12:11:17.080500Z

:thinking_face: would it also be useful to see which alias was ultimately responsible for each dep being pulled in?

seancorfield 2020-11-25T23:04:08.072100Z

Nice! I'd only need to make a minor tweak to my "ancient" shell script to pick up those changes (adding an fgrep -v ' X ' filter) and then just cleaning up the leading . or * and maybe running it through uniq which I don't currently have to do.

seancorfield 2020-11-25T23:04:23.072500Z

That's really nice and informative. Thank you!