diff options
| author | DJ O'Leary <dijitol@proton.me> | 2025-11-29 20:08:11 +0100 |
|---|---|---|
| committer | DJ O'Leary <dijitol@proton.me> | 2025-11-29 20:09:11 +0100 |
| commit | 87277098e997661f432be56c27f4b54d51aa9306 (patch) | |
| tree | 83846830e5102120ef298e8ad9a552b30203fdc6 /2025/ocaml/Taskfile.yaml | |
| parent | 0bf49c4ec799445350c60a96a754e44ac15a2268 (diff) | |
chore: use updated template
Diffstat (limited to '2025/ocaml/Taskfile.yaml')
| -rw-r--r-- | 2025/ocaml/Taskfile.yaml | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/2025/ocaml/Taskfile.yaml b/2025/ocaml/Taskfile.yaml new file mode 100644 index 0000000..7496067 --- /dev/null +++ b/2025/ocaml/Taskfile.yaml @@ -0,0 +1,95 @@ +# https://taskfile.dev +version: "3" + +tasks: + + default: + desc: Prints this message + cmds: + - cmd: task --list-all + + docs: + desc: Builds documentation + preconditions: + - command -v ocamldoc + cmds: + - cmd: ocamldoc -html -d docs bin/main.ml + silent: true + + test: + desc: Runs the tests + preconditions: + - command -v dune + deps: + - task: build + cmds: + - cmd: dune runtest {{.CLI_ARGS}} + + test:watch: + desc: Continuously runs the tests + ignore_error: true + sources: + - lib/**/*.ml + - test/**/*.ml + preconditions: + - command -v dune + deps: + - task: build + cmds: + - cmd: dune runtest --watch {{.CLI_ARGS}} + + test:coverage: + desc: Runs the tests and reports coverage + preconditions: + - command -v dune + - command -v bisect-ppx-report + deps: + - task: build + cmds: + - cmd: rm --recursive --force _coverage + - cmd: rm --force _build/default/test/bisect*.coverage + - cmd: dune runtest --instrument-with bisect_ppx --force {{.CLI_ARGS}} + - cmd: bisect-ppx-report html + + build: + desc: Builds the project + preconditions: + - command -v dune + cmds: + - cmd: dune build + + build:watch: + desc: Builds the project when files change + preconditions: + - command -v dune + cmds: + - cmd: dune build --watch {{.CLI_ARGS}} + + build:release: + desc: Builds a release version the project + preconditions: + - command -v dune + cmds: + - cmd: dune build --release + + run: + desc: Runs the project + preconditions: + - command -v dune + deps: + - task: build + cmds: + - cmd: dune exec -- ./bin/main.exe {{.CLI_ARGS}} + + repl: + desc: Opens a REPL for the project + interactive: true + preconditions: + - command -v dune + - command -v utop + cmds: + - cmd: dune utop + + git:hooks: + desc: sets up the githooks for the project + cmd: git config core.hooksPath .githooks |
