A little like make, and jack of all tasks.
Build and maintain your clojure projects.
Early alpha. No releases at the moment.
Makejack is a clojure CLI tool, a babashka script, and a library for writing you own build tasks.
Start your project using the built in tasks, and as your needs grow, easily customise the tasks to make them your own.
You specify project name and version on the command line, or put them in
a project.edn
file.
{:name my.org/my-project
:version "0.0.1"}
With a project.edn
file, the build targets should work without
passing any agruments.
If you have babashka 0.6.5 or greater,
wget https://raw.githubusercontent.com/hugoduncan/makejack/main/mj
chmod +x mj
You can install makejack as a named tool:
clj -Ttools install io.github.hugoduncan/makejack \
'{:git/sha "c6ca7ffdb207da8d78744bb849c0d889e5b81cd4"
:deps/root "projects/makejack-jar"}' \
:as mj
It can then be called as:
clj -Tmj help
For example, build a jar with:
clj -Tmj jar
You can add makejack to your deps.edn
, wherever you configure your
build tools.
org.hugoduncan/makejack
{:git/tag "v0.1.5" :git/sha "49f0357" :deps/root "projects/makejack-jar"}
Use doc strings and meta on your build tasks to provide a help
command
for your build.
Provide defaults for filesystem layouts, filenames, etc.
Manage the project build data map, possibly in a project.edn file.
The :name is a qualified symbol, like my.org/project-name.
The :version is a dotted string, and can contain a computed component, specified as a :keyword. Currently :git-rev-count and :reverse-date are supported.
Build helpers for polylith (like) monorepo projects.
The Polylith documentation can be found here: