A deliberately minimal task runner.
This is an in-progress-pre-alpha project.
Rhiz executes tasks defined in a "Rhizfile", containing task descriptions with a Lisp like syntax.
(task "hello" (log "Rhiz says hello")) ;; Comments start with a semicolon (task "fizzbuzz" "Tasks can have an optional description" (exec fizzbuzz.exe)) (task "clean" (delete "./output"))
log: Print a message.
exec: Run an external command.
empty-dir: Create an empty directory, or delete an existing directory's contents.
delete: Delete a file (if it exists).
copy: Copy a file; wont' overwrite an existing file.
rec-copy: Recursively copy one directory's contents into another.
par: Perform a set of commands in parallel.
- Set up CI?
- Migrate to GitHub?
- Overview (motivation, high-level operation)
- Reference information on each function (e.g. "do copy and rec-copy follow symlinks")
- Example Rhizfile(s) (with equivalent script/makefile?)