Module Taskmaster

This module contains the primary interface(s) between a wrapping user
interface and the SCons build engine. There are two key classes here:

Taskmaster

This is the main engine for walking the dependency graph and
calling things to decide what does or doesn't need to be built.

Task

This is the base class for allowing a wrapping interface to
decide what does or doesn't actually need to be done. The
intention is for a wrapping interface to subclass this as
appropriate for different types of behavior it may need.

The canonical example is the SCons native Python interface,
which has Task subclasses that handle its specific behavior,
like printing "`foo' is up to date" when a top-level target
doesn't need to be built, and handling the -c option by removing
targets as its "build" action. There is also a separate subclass
for suppressing this output when the -q option is used.

The Taskmaster instantiates a Task object for each (set of)
target(s) that it decides need to be evaluated and/or built.

Stats
A simple class for holding statistics about the disposition of a
Node by the Taskmaster. If we're collecting statistics, each Node
processed by the Taskmaster gets one of these attached, in which case
the Taskmaster records its decision each time it processes the Node.
(Ideally, that's just once per Node.)

__doc__

Value:

"""
Generic Taskmaster module for the SCons build engine.
This module contains the primary interface(s) between a wrapping user
interface and the SCons build engine. There are two key classes here:
Taskmaster
This is the main engine for walking the dependency graph and
...