Build Tools§

Note

Build tools aren't currently extendable by third parties. However, this is planned.

As a build configuration system, bfg9000 naturally interacts with many other tools; this interaction is defined for each tool in bfg9000/tools/; each file is automatically imported and the tools are added to a dict ultimately used by the environment object.

Decorators§

@builder(lang, ...)§

Define a builder for one or more langs. The API for builders is somewhat complex and currently beyond the scope of this document.

@tool(name, [lang])§

Define a tool named name that optionally acts as a runner for files with the language lang. The API for tools is somewhat complex and currently beyond the scope of this document.

Accessors§

get_builder(env, lang)§

Get the builder associated with lang, passing env (and lang if the builder was defined for multiple languages) to the builder type.

get_tool(env, name)§

Get the tool named name, passing env to the tool type.

get_tool_runner(lang)§

Get the name of the tool specified to run files with language lang.