bake - make for bash
bake command [options...]
make for bash programs. It provides an extensible system for managing project tasks using modular code.
The convention is that task methods are not declared in tasks(7) but are placed in modules and then included using require(3). So to include the task-todo(7) functionality into your project all you need to do is require(3) it:
The bake(1) program looks for a tasks(7) file in the current working directory. If no tasks(7) file is found in the current working directory then bake(1) will walk all parent directories looking for a tasks(7) file.
It maps commands (the first option passed to bake(1)) to task method(s) declared by the tasks file. A command is considered to be the first option passed to the
bake executable, any other options specified on the command line are passed to the corresponding task method.
The following variables are available to each command method:
The directory where the
tasks file is located.
target directory corresponding to
The file system path to the tasks file, eg:
A >0 exit code is used when no task(7) file could be located or no command is available, otherwise the exit code is deferred to the task being executed.
It is recommended that task command implementations explicitly exit the program using the
success commands declared by console(3).
bake is written in bash and depends upon
bash >= 4.
bake is copyright (c) 2012 muji http://xpm.io