In a previous blog post, I described how you can kick off a Clojure project with neil.
Today I want to show you how easy it is how to deploy a Clojure project to Clojars with neil.
Assuming you already have a deps.edn, but you don't yet have a build.clj, you can run:
$ neil add build
This creates a tools.build build.clj file with functions you typically need for building and deploying a Clojure project.
The build.clj looks for the project name and version in your deps.edn under [:aliases :neil :project].
You can set the project name and version like this:
{:deps {}
:paths ["resources"]
:aliases
{:neil {:project {:name io.github.clj-kondo/config-rum-rum
:version "1.0.0"}}
:build ;; added by neil
{:deps {io.github.clojure/tools.build {:git/tag "v0.8.3" :git/sha "0d20256"}
slipset/deps-deploy {:mvn/version "0.2.0"}}
:ns-default build}}}
Now all you have to do to deploy your project is run clojure -T:build deploy. This runs the deploy function in build.clj which uses deps-deploy.
Whenever you want to bump your patch version, you can run:
$ neil version patch
or set the version manually using:
$ neil version set 1.0.1
and then deploy again.
The neil version command is similar to NPM's version command.
For a full project that uses this setup, check out this one that I just created today in a couple of keystrokes.
Happy deploying!
Published: 2022-10-22