Fork me on GitHub

We currently show lein/boot/maven instructions on the homepage. Do folks still use boot? Should we replace boot (or maven?) with (or build-clj) instructions?


According to the survey, it's a very small marketshare


(assuming responses are representative)

Alex Miller (Clojure team)19:06:38

I don't think boot is big enough to be worth having there. maven still useful imo. not sure there is a standard enough way to do with deps.edn yet ( does not cover this)


@U06SGCEHJ for the Clojure CLI, you'll want to point to for the actual push of the JAR up to Clojars; for building library JARs there are quite a few options but linking to is probably sufficient. Whilst my build-clj wrapper helps "a bit" with library JARs, it doesn't really add enough to "enshrine" it on (it can replace three calls with one build-clj call -- but it's a lot more useful for uberjars 🙂 ).


(building the library JAR with and using mvn to deploy to Clojars is also reasonable -- and how I used to do it before deps-deploy appeared)


Thanks all. boot was added pre-Clojure CLI, when it was in ascendance. I think it makes sense to replace it with a cli invocation (with the assumption that you are using deps-deploy, just as the boot example assumes bootlaces). How does this look?


It leaves out the detail of providing CLOJARS_USERNAME and CLOJARS_PASSWORD env vars, but including them makes it noisy, and you have to read the deps-deploy directions anyway, which does cover that.


I would recommend:

clojure -X:deps mvn-pom
clojure -X:deploy
It's better practice to use the bare clojure command when not doing anything interactive (`rlwrap` is not needed or useful for non-interactive commands). Also, -Spom is no longer documented and the "modern" way is to create pom.xml via -X:deps.


Gotcha, thanks! I was just going off of the instructions here:, but I'll use yours.