Package SCons :: Module Executor :: Class Executor
[show private | hide private]
[frames | no frames]

Class Executor

Known Subclasses:
Null

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.


Method Summary
  __init__(self, action, env, overridelist, targets, sources, builder_kw)
  __call__(self, target, **kw)
  __str__(self)
  add_post_action(self, action)
  add_pre_action(self, action)
  add_sources(self, sources)
Add source files to this Executor's list.
  cleanup(self)
  do_execute(self, target, kw)
Actually execute the action list.
  do_nothing(self, target, kw)
  get_action_list(self)
  get_build_env(self)
Fetch or create the appropriate build Environment for this Executor.
  get_build_scanner_path(self, scanner)
Fetch the scanner path for this executor's targets and sources.
  get_contents(self)
Fetch the signature contents.
  get_implicit_deps(self)
Return the executor's implicit dependencies, i.e.
  get_kw(self, kw)
  get_missing_sources(self)
  get_sources(self)
  get_timestamp(self)
Fetch a time stamp for this Executor.
  get_unignored_sources(self, ignore)
  my_str(self)
  nullify(self)
  process_sources(self, func, ignore)
  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.
  scan_sources(self, scanner)
  scan_targets(self, scanner)
  set_action_list(self, action)
  _get_unignored_sources_key(self, ignore)
  _process_sources_key(self, func, ignore)

Class Variable Summary
list memoizer_counters = [<SCons.Memoize.CountValue instance ...

Method Details

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.

do_execute(self, target, kw)

Actually execute the action list.

get_build_env(self)

Fetch or create the appropriate build Environment for this Executor.

get_build_scanner_path(self, scanner)

Fetch the scanner path for this executor's targets and sources.

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.

get_implicit_deps(self)

Return the executor's implicit dependencies, i.e. the nodes of the commands to be executed.

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.

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.


Class Variable Details

memoizer_counters

Type:
list
Value:
[<SCons.Memoize.CountValue instance at 0x2b798ff31f38>,
 <SCons.Memoize.CountValue instance at 0x2b798ff301b8>,
 <SCons.Memoize.CountDict instance at 0x2b798ff360e0>,
 <SCons.Memoize.CountDict instance at 0x2b798ff36560>]                 

Generated by Epydoc 2.1 on Wed Dec 12 09:39:31 2007 http://epydoc.sf.net