Logo Search packages:      
Sourcecode: waf version File versions  Download package

wafadmin::TaskGen::task_gen Class Reference

Inheritance diagram for wafadmin::TaskGen::task_gen:

wafadmin::Tools::intltool::intltool_in_taskgen wafadmin::Tools::intltool::intltool_po_taskgen

List of all members.

Detailed Description

Most methods are of the form 'def meth(self):' without any parameters
there are many of them, and they do many different things:
* task creation
* task results installation
* environment modification
* attribute addition/removal

The inheritance approach is complicated
* mixing several languages at once
* subclassing is needed even for small changes
* inserting new methods is complicated

This new class uses a configuration table:
* adding new methods easily
* obtaining the order in which to call the methods
* postponing the method calls (post() -> apply)

Additionally, a 'traits' static attribute is provided:
* this list contains methods
* the methods can remove or add methods from self.meths
Example1: the attribute 'staticlib' is set on an instance
a method set in the list of traits is executed when the
instance is posted, it finds that flag and adds another method for execution
Example2: a method set in the list of traits finds the msvc
compiler (from self.env['MSVC']==1); more methods are added to self.meths

Definition at line 54 of file TaskGen.py.

Public Member Functions

def __init__
def __setattr__
def __str__
def apply
def clone
def create_task
def find_sources_in_dirs
def get_chmod
def get_hook
def get_inst_path
def name_to_obj
def post
def set_chmod
def set_inst_path
def to_list

Public Attributes


Static Public Attributes

tuple chmod = property(get_chmod, set_chmod)
dictionary classes = {}
tuple install_path = property(get_inst_path, set_inst_path)
dictionary mapped = {}
dictionary mappings = {}
tuple prec = Utils.DefaultDict(list)
tuple traits = Utils.DefaultDict(set)

Private Attributes


Static Private Attributes

 __metaclass__ = register_obj

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index