;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 # Just, make, and Shake
After many years of relying on `make` for automating project tasks, 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. we now primarily use [just](https://github.com/casey/just) instead.
`just` is better enough, and clean consolidated efficient project automation is so valuable, `just` is better enough, and clean consolidated efficient project automation is so valuable, that this is worthwhile -
that it is worthwhile, even though, for now, it is usually not installed by default and it lacks Make's file dependency tracking. 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); `Justfile` in the main repo's top directory is the starting point for scripts automating hledger project tasks.
this is the starting point for automating hledger project tasks. Install and run `just` to list them. I suggest using a shorter command alias `j`. Eg:
Install and run `just` to see the list of recipes. I suggest using a shorter command alias `j`.
Eg:
```cli ```cli
$ alias j=just $ alias j=just
@ -16,6 +14,8 @@ $ j # list all scripts
$ j h test # list scripts mentioning "test" $ j h test # list scripts mentioning "test"
``` ```
Makefiles are still used in a number of subdirectories, like `site/` and `finance/`.
## Shake ## Shake
`Shake.hs` in the main repo's top directory complements the Justfile. `Shake.hs` in the main repo's top directory complements the Justfile.
@ -26,7 +26,7 @@ Eg:
```cli ```cli
$ ./Shake.hs # compile it for speed and git branch independence. Or: just Shake $ ./Shake.hs # compile it for speed and git branch independence. Or: just Shake
$ ./Shake # list scripts $ ./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 $ 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. 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.