Added tooling to create a standalone binary, using one neat hack!

This commit is contained in:
Simon Brooke 2026-04-03 14:17:55 +01:00
parent e97ace97c5
commit a0a05786ae
4 changed files with 54 additions and 9 deletions

View file

@ -82,9 +82,32 @@ implement one.
You are of course welcome to fork the project and do whatever you like with it!
### Building
Build with
lein uberjar
This will build a jar file in `target/uberjar/beowulf-VERSION-standalone.jar`,
where VERSION is the current version number.
On UNIX platforms (includeing Linux), you can build a standalone binary by
invoking a script, `resources/sh/builder.sh`, *after* invoking `lein uberjar`,
so:
lein uberjar
sh resources/sh/builder.sh
This should build a standalone binary in `target/beowulf`.
In order to be able to invoke this binary just like any other program, move it
to somewhere on your path, idealy `${HOME}/bin` or `/usr/local/bin`.
### Invoking
Invoke with
If you have not built and installed the standalone binary, you may invoke the
uberjar with
java -jar target/uberjar/beowulf-0.3.1-standalone.jar --help
@ -103,13 +126,6 @@ Command line arguments as follows:
To end a session, type `STOP` at the command prompt.
### Building and Invoking
Build with
lein uberjar
### Reader macros
Currently `SETQ` and `DEFUN` are implemented as reader macros, sort of. It would