clojars

2022-06-29T17:20:03.834019Z

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?

nnichols 2022-06-29T17:25:09.756479Z

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

nnichols 2022-06-29T17:25:24.905749Z

(assuming responses are representative)

Alex Miller (Clojure team) 2022-06-29T19:12:38.323459Z

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)

seancorfield 2022-06-29T19:14:49.593659Z

@tcrawley 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 🙂 ).

seancorfield 2022-06-29T19:16:05.837739Z

(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)

2022-06-30T12:12:20.858339Z

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?

2022-06-30T12:13:42.724319Z

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.

seancorfield 2022-06-30T17:22:12.682459Z

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
2022-06-30T17:58:24.284229Z

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