Fork me on GitHub
#clojars
<
2022-06-29
>
tcrawley17:06:03

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

nnichols17:06:09

According to the https://clojure.org/news/2022/06/02/state-of-clojure-2022 survey, it's a very small marketshare

nnichols17:06:24

(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 (tools.build does not cover this)

seancorfield19:06:49

@U06SGCEHJ for the Clojure CLI, you'll want to point to https://github.com/slipset/deps-deploy for the actual push of the JAR up to Clojars; for building library JARs there are quite a few options but linking to https://clojure.org/guides/tools_build#_source_library_jar_build is probably sufficient. Whilst my build-clj wrapper helps "a bit" with library JARs, it doesn't really add enough to "enshrine" it on http://clojars.org (it can replace three tools.build calls with one build-clj call -- but it's a lot more useful for uberjars 🙂 ).

seancorfield19:06:05

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

tcrawley12:06:20

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?

tcrawley12:06:42

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.

seancorfield17:06:12

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.

2
tcrawley17:06:24

Gotcha, thanks! I was just going off of the instructions here: https://github.com/slipset/deps-deploy#usage, but I'll use yours.