otes for Contributors
The wx.NET build system consists of basic building actions like encapsulations of C# and C++ compilers. Basic actions are often of constrained applicability. They often require external tools, certain operating systems etc.
Main classes are BuildConfig where you can manipulate the configuration to be used for building and class BuildProject. Create an instance of a BuildProject and call BuildProject.CreateActionPlan() or BuildProject.Build().
Options to abort an action. This will usually be part of the build parameters. These will be interpreted by the actions. However, the intention is to define an overall valid rule to abort the build process w.r.t. several incidents.
Build actions will be created dynamically. Constants of this enumeration will be used by the actions to state, whether they have to be executed or not.
enum wx::Build::BuildMode |
Symbols to control the reuse of previous build operations. This will be set globally in the configuration.
Represents the location of a ContentFile.
LocalFileSystem | The file name exists in the local file system. The file name will be normalized to a full path name. Validity will be determined according the last write access to the file. |
GlobalAssemblyCache |
The file name is considered to denote an assembly from the global assembly cache. The validity will be mapped to the version of the assembly that will be read with System .Runtime.Assembly.LoadFile(). |
InConfiguredDirectories |
The filename is relative to a configured directory. This option is for instance required providing static libs to linkers as simple filenames. Such files will typically be searched in configured directories. All services of this instance referring to properties of the file on the local file system are not available if this is used. |
A bit vector representing several properties of content files that are relevant to the build process. A type inherits all properties from those types that are contained.
These options control, which projects will be achieved during the build process. Cf. BuildProject.Preference
delegate void wx.Build.ErrorHandler | ( | ErrorObject | errorObject | ) |
Type for means to produce output on errors and warnings. Refer to ErrorDataReceiver if you want to use error handlers with System
.Diagnostics.Process. summary> This class is a utility to use the ErrorHandler in System.Diagnostics.Process.Start()
. Shell commands are typically executed by the System.Diagnostics.Process.Start()
command. Build tools will usually do this specifying a System.Diagnostics.Process.StartInfo
disabling use of the command shell but redirecting output of errors and messages.
This handler may be used as asynchron receiver of messages from the error stream that redirects this output to an ErrorHandler. Sample code:
System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo.FileName="commandToRun.exe"; process.StartInfo.ErrorDialog = false; process.StartInfo.CreateNoWindow = false; process.StartInfo.UseShellExecute = false; process.StartInfo.RedirectStandardError = true; process.StartInfo.RedirectStandardOutput = true; ErrorDataReceiver receiver=new ErrorDataReceiver(this.Name, messages); process.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(receiver.OnReceiveErrorStreamData); process.Start(); process.BeginErrorReadLine(); process.BeginOutputReadLine(); process.WaitForExit(); bool success=process.ExitCode == 0;