wx.Build.SequenceOfBuildActions Class Reference

Inheritance diagram for wx.Build.SequenceOfBuildActions:

Inheritance graph

List of all members.

Public Member Functions

void Add (IBuildAction item)
void AddFront (IBuildAction item)
void AppendBooCode (List< string > booCodeLines, string indention, BuildToolFamilyEnv env)
void Clear ()
object Clone ()
void CollectChoicePoints (IDictionary< string, ICollection< string >> collectionOfChoicePoints)
bool Contains (IBuildAction item)
bool ContainsPrerequisite (IBuildProduct prereq)
void CopyTo (IBuildAction[] array, int arrayIndex)
bool Execute (BuildToolFamilyEnv env, DateTime validityOfBuildSystem)
IEnumerator
< IBuildAction
GetEnumerator ()
ICollection
< IBuildProduct
GetPrerequisites ()
System.Diagnostics.ProcessStartInfo GetProgramStartInfo (BuildToolFamilyEnv env)
ICollection
< RefToProject
GetProjects ()
ICollection
< IBuildProduct
GetTargets ()
DateTime GetValidity ()
DateTime GetValidityDemand ()
int IndexOf (IBuildAction item)
void Insert (int index, IBuildAction item)
bool Remove (IBuildAction item)
void RemoveAt (int index)
 SequenceOfBuildActions (SequenceOfBuildActions src)
 SequenceOfBuildActions (params IBuildAction[] actions)
void SetReadOnly ()
bool TargetsAreConsistent (DateTime validityOfBuildSystem)

Properties

IBuildActionProvider ActionProvider [get]
int Count [get]
FeatureList Features [get]
bool IsReadOnly [get]
string Name [get]
int NoOfInstance [get]
ICollection< Type > ParameterTypes [get]
ActionPriority Priority [get]
BuildProject Project [get, set]
IBuildAction this [int index] [get, set]
IDictionary< string,
EnvironmentVarInfo
UsedVars [get]


Detailed Description

A sequence of build actions is a build action itself but also a list of build actions. The list contains the actions in the order that shall be used for execution.

Sequences do not have a provider. They result from projects.

Instances of this class may be made read-only. In that case, all modifiers will cause exceptions.


Constructor & Destructor Documentation

wx.Build.SequenceOfBuildActions.SequenceOfBuildActions ( params IBuildAction[]  actions  ) 

wx.Build.SequenceOfBuildActions.SequenceOfBuildActions ( SequenceOfBuildActions  src  ) 

Copy-CTor

Parameters:
src The source whose contents will be copied.


Member Function Documentation

void wx.Build.SequenceOfBuildActions.Add ( IBuildAction  item  ) 

Adds a new action at the end of the sequence.

void wx.Build.SequenceOfBuildActions.AddFront ( IBuildAction  item  ) 

Adds a new action at the beginning of the sequence. Use this method if you have to add an action in order to build one of the prerequisites required by already contained actions.

void wx.Build.SequenceOfBuildActions.AppendBooCode ( List< string >  booCodeLines,
string  indention,
BuildToolFamilyEnv  env 
)

This method will create BOO source code and append this code to the provided text writer.

Parameters:
env This is an environment that different tools of the same family may use to exchange information. This store is typically used to save information on configuration files or thinsgs of that kind that will be shared among all tools of the same family.
booCode The code that will actually build something. Each list entry will be a line of code in the resulting BOO program.
indention A string that shall preceed all created lines.
Refer to IBuildActionProvider.AppendToBooPreamble() for an example.
Exceptions:
NotSupportedException Will be thrown if this feature is not supported.

Implements wx.Build.IBuildAction.

void wx.Build.SequenceOfBuildActions.Clear (  ) 

object wx.Build.SequenceOfBuildActions.Clone (  ) 

Returns new instance that is a copy (contains all actions).

void wx.Build.SequenceOfBuildActions.CollectChoicePoints ( IDictionary< string, ICollection< string >>  collectionOfChoicePoints  ) 

This method collects all choice points within this action. Choice points are represented by a name and a collection of alternatives.

Parameters:
collectionOfChoicePoints The collection that will be extended by the choice points of this action.
The current implementation provides a choice point for the compilation and linking of C/C++ programs, "CppDevelopmentSystem" of the alternatives "GCC" and "MS VC". Thus, actions on C/C++ compilation will add the following choice point:
            if (!collectionOfChoicePoints.ContainsKey("CppDevelopmentSystem"))
                collectionOfChoicePoints.Add("CppDevelopmentSystem", new List&lt;string&gt;());
            collectionOfChoicePoints["CppDevelopmentSystem"].Add("GCC");
            collectionOfChoicePoints["CppDevelopmentSystem"].Add("MS VC");

Implements wx.Build.IBuildAction.

bool wx.Build.SequenceOfBuildActions.Contains ( IBuildAction  item  ) 

bool wx.Build.SequenceOfBuildActions.ContainsPrerequisite ( IBuildProduct  prereq  ) 

True iff prereq is among the GetPrerequisites().

Implements wx.Build.IBuildAction.

void wx.Build.SequenceOfBuildActions.CopyTo ( IBuildAction[]  array,
int  arrayIndex 
)

bool wx.Build.SequenceOfBuildActions.Execute ( BuildToolFamilyEnv  env,
DateTime  validityOfBuildSystem 
)

Execute all actions in the provided order. If BuildConfig.Mode of the current configuration is BuildMode.Rebuild, this will omitt all actions of consistent targets.

Implements wx.Build.IBuildAction.

IEnumerator<IBuildAction> wx.Build.SequenceOfBuildActions.GetEnumerator (  ) 

ICollection<IBuildProduct> wx.Build.SequenceOfBuildActions.GetPrerequisites (  ) 

This is a collection of preconditions that have to be achieved before running this project. Preconds will be used by internal references to determine applicability of a project and to determine, whether the project has to be rebuilt. Refer to Targets .

Implements wx.Build.IBuildAction.

System.Diagnostics.ProcessStartInfo wx.Build.SequenceOfBuildActions.GetProgramStartInfo ( BuildToolFamilyEnv  env  ) 

Returns null since this will not use the process class on execution.

Implements wx.Build.IBuildAction.

ICollection<RefToProject> wx.Build.SequenceOfBuildActions.GetProjects (  ) 

This returns null because this does not imply build projects.

ICollection<IBuildProduct> wx.Build.SequenceOfBuildActions.GetTargets (  ) 

The collection of all targets of contained actions.

Implements wx.Build.IBuildAction.

DateTime wx.Build.SequenceOfBuildActions.GetValidity (  ) 

The earliest validity of a contained action.

Implements wx.Build.IBuildObject.

DateTime wx.Build.SequenceOfBuildActions.GetValidityDemand (  ) 

The latest validity of a contained action.

Implements wx.Build.IBuildObject.

int wx.Build.SequenceOfBuildActions.IndexOf ( IBuildAction  item  ) 

void wx.Build.SequenceOfBuildActions.Insert ( int  index,
IBuildAction  item 
)

bool wx.Build.SequenceOfBuildActions.Remove ( IBuildAction  item  ) 

void wx.Build.SequenceOfBuildActions.RemoveAt ( int  index  ) 

void wx.Build.SequenceOfBuildActions.SetReadOnly (  ) 

Makes this read-only. As a consequence, all modifiers will raise exceptions.

bool wx.Build.SequenceOfBuildActions.TargetsAreConsistent ( DateTime  validityOfBuildSystem  ) 

Checks whether all contained actions are consistent.

Parameters:
validityOfBuildSystem indicates the last change of either this DLL or the assembly defining the project. So, all action will be repeated (even if rebuild is specified) if the project definition changes or the implementation of the build system has been enhanced since the final build. This argument will be computed and propagated by the project.

Implements wx.Build.IBuildAction.


Property Documentation

IBuildActionProvider wx.Build.SequenceOfBuildActions.ActionProvider [get]

The class that created this action. This is often the action itself.

Implements wx.Build.IBuildAction.

int wx.Build.SequenceOfBuildActions.Count [get]

FeatureList wx.Build.SequenceOfBuildActions.Features [get]

Provides access to the features of this action. Features usually are defined by the project. The project will set this at the actions that it creates to build the task.

Implements wx.Build.IBuildAction.

bool wx.Build.SequenceOfBuildActions.IsReadOnly [get]

Returns true iff this has been made read-only (by MakeReadOnly()).

string wx.Build.SequenceOfBuildActions.Name [get]

The name of the action. This is for messages and print outs. Usually, this is the name of the action provider. However, projects do not have a provider but a name as member.

Implementors must make sur that names only contain letters, digits and the dot '.'. This is to ease serialization of build plans as batch files.

Implements wx.Build.IBuildAction.

int wx.Build.SequenceOfBuildActions.NoOfInstance [get]

Index of the instance. This will be used to create unique name. This will NOT be used to determine whether 2 actions are equivalent.

ICollection<Type> wx.Build.SequenceOfBuildActions.ParameterTypes [get]

Returns a collection (typically an array) of relevant parameter types in the BuildConfig. This may be empty or null if instances of this class do not refer to parameter types.

Implements wx.Build.IBuildAction.

ActionPriority wx.Build.SequenceOfBuildActions.Priority [get]

The least important priority of a contained action.

Implements wx.Build.IBuildAction.

BuildProject wx.Build.SequenceOfBuildActions.Project [get, set]

This getter will return the first encountered project of a contained action. The setter is a NOP.

Implements wx.Build.IBuildAction.

IBuildAction wx.Build.SequenceOfBuildActions.this[int index] (  )  [get, set]

IDictionary<string, EnvironmentVarInfo> wx.Build.SequenceOfBuildActions.UsedVars [get]

All variables used by at least one contained action. If a variable is mandatory for one action but not required by another, the result will state that the variable is also mandatory for this action.

Implements wx.Build.IBuildAction.


The wx.NET Build System.   (c) 2009-2010 Harald Meyer auf'm Hofe