tools-deps

Discuss tools.deps.alpha, tools.build, and the clj/clojure command-line scripts! See also #depstar #clj-new
alexmiller 2020-10-21T14:03:29.426300Z

if anyone tries that prerelease and has good/bad feedback, please let me know, I will probably release it as stable by tomorrow

seancorfield 2020-10-21T16:35:14.428300Z

I updated our repo at work to use it immediately but I haven't exercised it much yet (and in particular I haven't exercised the options you fixed yet!). I'm just about to update our "ancient" script which uses -Stree to use -X:deps tree instead and see if it still works correctly...

seancorfield 2020-10-21T16:36:12.428900Z

Oh, I misspoke. Apparently I made that change a while back so I have already tested that it didn't break anything...

seancorfield 2020-10-21T16:37:19.429600Z

...and I can confirm that all the maven-resolver-* deps disappeared, as expected. So, yup, that worked.

seancorfield 2020-10-21T16:44:44.430400Z

OK, I just ran clojure -Spom across a dozen projects and then clojure -X:deps mvn-pom and confirmed there's no differences between those two now.

alexmiller 2020-10-21T16:49:43.431200Z

there is still a difference in that your command line classpath-modifying arguments won't change the generated pom with the latter

seancorfield 2020-10-21T16:50:58.432200Z

Right, I don't rely on that in any of the projects where I create pom.xml files at the moment.

seancorfield 2020-10-21T16:51:16.432700Z

But, yeah, we couldn't use this in our monorepo.

alexmiller 2020-10-21T16:52:22.434Z

still a TBD but I think we will probably have some semi-standard set of args that you can use to do that on mvn-pom if desired (or in tree). not sure yet whether that is args that mirror clj switches or pass through of some kind that gets parsed etc.

seancorfield 2020-10-21T16:56:46.435500Z

That did cause me to notice that

CLJ_CONFIG=../versions clojure -A:defaults -Spom
and
CLJ_CONFIG=../versions clojure -R:defaults -Spom
behave differently. The latter works, in that it merges the :defaults alias (with all our :override-deps) into the lib map which -Spom sees but the former fails to do that.

seancorfield 2020-10-21T16:58:01.436400Z

With -A:defaults I get this error

Error generating pom manifest: No coordinate type found for library compojure/compojure in coordinate {}
because that's how we specify common deps that have :override-deps in the :defaults alias in our "master" deps.edn file.

alexmiller 2020-10-21T18:21:01.437400Z

I can see why that is - the gen script piggybacks the normal cp script and one of the arg names changed in the latter so it's getting missed

alexmiller 2020-10-21T18:21:34.438Z

at the time that got changed, the gen script had been removed so didn't show up in the refectoring but was later re-added

alexmiller 2020-10-21T18:38:34.438300Z

@seancorfield fixed in 1.10.1.727

1
seancorfield 2020-10-21T18:39:15.438800Z

I will update to that shortly 🙂

seancorfield 2020-10-21T19:21:49.439100Z

Updated. Confirmed fixed. Thanks @alexmiller