Fork me on GitHub
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


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


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


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


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


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


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.


That did cause me to notice that

CLJ_CONFIG=../versions clojure -A:defaults -Spom
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.


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


I will update to that shortly 🙂


Updated. Confirmed fixed. Thanks @alexmiller