1. bake(1)
  2. bake(1)

NAME

bake - make for bash

SYNOPSIS

bake command [options...]

DESCRIPTION

bake is make for bash programs. It provides an extensible system for managing project tasks using modular code.

BUILTIN TASKS

All bake(1) projects have the following tasks built in task-test(7), task-clean(7), task-list(7), task-doc(7) and task-semver(7).

REQUIRE TASKS

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:

require 'tasks/todo';

FILES

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.

ENVIRONMENT

The following variables are available to each command method:

root

The directory where the tasks file is located.

target

A temporary target directory corresponding to ${root}/target.

tasks

The file system path to the tasks file, eg: ${root}/tasks.

EXIT CODES

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.

1
No task(7) file available in the current working directory (or any parent directories).
2
No task command available.
>0
The task command invocation returned a non-zero exit code but did not explicitly call exit.

It is recommended that task command implementations explicitly exit the program using the quit and success commands declared by console(3).

BUGS

bake is written in bash and depends upon bash >= 4.

bake is copyright (c) 2012 muji http://xpm.io

SEE ALSO

task-test(7), task-doc(7), task-clean(7), task-list(7)

  1. January 2013
  2. bake(1)