;doc: dev: edits

This commit is contained in:
Simon Michael 2024-04-24 08:54:46 -10:00
parent 7ba0c3999e
commit 6fa69ab6e2

View File

@ -1,14 +1,12 @@
# Just, make, and Shake
After many years of relying on `make` for automating project tasks,
we now primarily use [`just`](https://github.com/casey/just) instead.
`just` is better enough, and clean consolidated efficient project automation is so valuable,
that it is worthwhile, even though, for now, it is usually not installed by default and it lacks Make's file dependency tracking.
After many years of relying on [GNU Make](https://www.gnu.org/software/make) for automating project tasks,
we now primarily use [just](https://github.com/casey/just) instead.
`just` is better enough, and clean consolidated efficient project automation is so valuable, that this is worthwhile -
even though `just` requires installing and lacks Make's file dependency tracking, for now.
`Justfile` in the main repo's top directory is where we keep the recipes (scripts);
this is the starting point for automating hledger project tasks.
Install and run `just` to see the list of recipes. I suggest using a shorter command alias `j`.
Eg:
`Justfile` in the main repo's top directory is the starting point for scripts automating hledger project tasks.
Install and run `just` to list them. I suggest using a shorter command alias `j`. Eg:
```cli
$ alias j=just
@ -16,6 +14,8 @@ $ j # list all scripts
$ j h test # list scripts mentioning "test"
```
Makefiles are still used in a number of subdirectories, like `site/` and `finance/`.
## Shake
`Shake.hs` in the main repo's top directory complements the Justfile.
@ -26,7 +26,7 @@ Eg:
```cli
$ ./Shake.hs # compile it for speed and git branch independence. Or: just Shake
$ ./Shake # list scripts
$ j site # runs the `site` script in `Justfile` which calls the `site` script in `./Shake.hs` to do most of the work.
$ j site # runs the `just site` which calls `./Shake site` to do the work
$ j -n site # just --dry-run, show the commands that `just site` will run
```
@ -34,7 +34,3 @@ $ j -n site # just --dry-run, show the commands that `just site` will run
Additional helper scripts and tools are kept in the `tools/` subdirectory.
## Make
[GNU Make](https://www.gnu.org/software/make) makefiles are still used in a number of subdirectories - site, finance etc.