A class for controlling instances of executing an action.
This largely exists to hold a single association of an action,
environment, list of environment override dictionaries, targets
and sources for later processing as needed.
|
__init__(self,
action,
env=None,
overridelist=[ { } ] ,
targets=[ ] ,
sources=[ ] ,
builder_kw={ } )
x.__init__(...) initializes x; see help(type(x)) for signature |
source code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
get_all_targets(self)
Returns all targets for all batches of this Executor. |
source code
|
|
|
get_all_sources(self)
Returns all sources for all batches of this Executor. |
source code
|
|
|
|
|
get_all_prerequisites(self)
Returns all unique (order-only) prerequisites for all batches
of this Executor. |
source code
|
|
|
get_action_side_effects(self)
Returns all side effects for all batches of this
Executor used by the underlying Action. |
source code
|
|
|
|
|
get_build_scanner_path(self,
scanner)
Fetch the scanner path for this executor's targets and sources. |
source code
|
|
|
|
|
|
|
|
|
add_sources(self,
sources)
Add source files to this Executor's list. This is necessary
for "multi" Builders that can be called repeatedly to build up
a source file list for a given target. |
source code
|
|
|
|
|
add_batch(self,
targets,
sources)
Add pair of associated target and source to this Executor's list.
This is necessary for "batch" Builders that can be called repeatedly
to build up a list of matching target and source files that will be
used in order to update multiple target files at once from multiple
corresponding source files, for tools like MSVC that support it. |
source code
|
|
|
prepare(self)
Preparatory checks for whether this Executor can go ahead
and (try to) build its targets. |
source code
|
|
|
|
|
|
|
|
|
|
|
get_contents(self)
Fetch the signature contents. This is the main reason this
class exists, so we can compute this once and cache it regardless
of how many target or source Nodes there are. |
source code
|
|
|
get_timestamp(self)
Fetch a time stamp for this Executor. We don't have one, of
course (only files do), but this is the interface used by the
timestamp module. |
source code
|
|
|
|
|
|
|
scan(self,
scanner,
node_list)
Scan a list of this Executor's files (targets or sources) for
implicit dependencies and update all of the targets with them.
This essentially short-circuits an N*M scan of the sources for
each individual target, which is a hell of a lot more efficient. |
source code
|
|
|
_get_unignored_sources_key(self,
node,
ignore=( ) ) |
source code
|
|
|
|
|
get_implicit_deps(self)
Return the executor's implicit dependencies, i.e. the nodes of
the commands to be executed. |
source code
|
|
Inherited from object :
__delattr__ ,
__format__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__repr__ ,
__setattr__ ,
__sizeof__ ,
__subclasshook__
|