Package wafadmin :: Module Task :: Class Task
[hide private]
[frames] | no frames]

Class Task

source code

object --+    
         |    
  TaskBase --+
             |
            Task

The parent class is quite limited, in this version:
 * file system interaction: input and output nodes
 * persistence: do not re-execute tasks that have already run
 * caching: same files can be saved and retrieved from a cache directory
 * dependencies:
    implicit, like .c files depending on .h files
explicit, like the input nodes or the dep_nodes
environment variables, like the CXXFLAGS in self.env
 

Nested Classes [hide private]

Inherited from TaskBase: __metaclass__

Instance Methods [hide private]
 
__init__(self, env, normal=1)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
__str__(self)
string to display to the user
source code
 
__repr__(self)
used for debugging
source code
 
unique_id(self)
get a unique id: hash the node paths, the variant, the class, the function
source code
 
set_inputs(self, inp) source code
 
set_outputs(self, out) source code
 
set_run_after(self, task)
set (scheduler) order on another task
source code
 
add_file_dependency(self, filename)
TODO user-provided file dependencies
source code
 
signature(self) source code
 
runnable_status(self)
SKIP_ME RUN_ME or ASK_LATER
source code
 
post_run(self)
called after a successful task run
source code
 
can_retrieve_cache(self)
Retrieve build nodes from the cache - the file time stamps are updated for cleaning the least used files from the cache dir - be careful when overridding
source code
 
debug_why(self, old_sigs)
explains why a task is run
source code
 
sig_explicit_deps(self) source code
 
sig_vars(self) source code
 
sig_implicit_deps(self)
the signature obtained may not be the one if the files have changed, we do it in two steps
source code
 
compute_sig_implicit_deps(self)
it is intented for .cpp and inferred .h files there is a single list (no tree traversal) this is the hot spot so ...
source code

Inherited from TaskBase: attr, call_run, display, format_error, hash_constraints, install, run

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__

Class Variables [hide private]
  vars = []
  scan = None

Inherited from TaskBase: classes, color, maxjobs, stat

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, env, normal=1)
(Constructor)

source code 

x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Overrides: object.__init__
(inherited documentation)

__str__(self)
(Informal representation operator)

source code 

string to display to the user

Overrides: object.__str__

__repr__(self)
(Representation operator)

source code 

used for debugging

Overrides: object.__repr__
(inherited documentation)

runnable_status(self)

source code 

SKIP_ME RUN_ME or ASK_LATER

Overrides: TaskBase.runnable_status

post_run(self)

source code 

called after a successful task run

Overrides: TaskBase.post_run

can_retrieve_cache(self)

source code 

Retrieve build nodes from the cache - the file time stamps are updated for cleaning the least used files from the cache dir - be careful when overridding

Overrides: TaskBase.can_retrieve_cache

compute_sig_implicit_deps(self)

source code 

it is intented for .cpp and inferred .h files there is a single list (no tree traversal) this is the hot spot so ... do not touch