Fork me on GitHub
#tools-deps
<
2020-10-21
>
Alex Miller (Clojure team)14:10:29

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

seancorfield16:10:14

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...

seancorfield16:10:12

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

seancorfield16:10:19

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

seancorfield16:10:44

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.

Alex Miller (Clojure team)16:10:43

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

seancorfield16:10:58

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

seancorfield16:10:16

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

Alex Miller (Clojure team)16:10:22

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.

seancorfield16:10:46

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.

seancorfield16:10:01

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.

Alex Miller (Clojure team)18:10:01

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

Alex Miller (Clojure team)18:10:34

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

seancorfield18:10:15

I will update to that shortly 🙂

seancorfield19:10:49

Updated. Confirmed fixed. Thanks @alexmiller