/makejack

A clojure CLI build tool, and build library.

Primary LanguageClojure

makejack

A little like make, and jack of all tasks.

Build and maintain your clojure projects.

Makejack is a clojure CLI tool, 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.

Install as a Named Clojure CLI Tool

You can install makejack as a named tool:

clj -Ttools install io.github.hugoduncan/makejack \
'{:git/tag "v0.1.5" :git/sha "49f0357" :deps/root "projects/makejack-jar"}' \
 :as mj

It can then be called as:

clj -Tmj help

Create a project.edn file, and the build targets should work.

{:name my.org/my-project
 :version "0.0.1"}

For example, build a jar with:

clj -Tmj jar

Install as a library

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"}

makejack.target-doc

Use doc strings and meta on your build tasks to provide a help command for your build.

makejack.defaults

Provide defaults for filesystem layouts, filenames, etc.

makejack.project-data

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.

makejack.poly

Build helpers for polylith (like) monorepo projects.

Development

Polylith

The Polylith documentation can be found here: