XML Interface - XML Syntax Notes
This section contains notes on XML Validity as well as
additional information on important elements in the XML syntax.
XML Validity
XML files must be well-formed and valid (an .xsd file for
validation can be found in the "XGE" folder under the IncrediBuild
installation folder). Usage of the special character conversion is
strongly recommended:
| < |
< |
| > |
> |
| " |
" |
| ' |
' |
| & |
& |
- Project: the entire set of tasks that will be
run.
- Task: a single task definition. Please note that
one defined task in the XML can be translated to multiple tasks if
a file search or response file
(explained below) is applied.
- TaskGroup: a group of tasks.
- SourceFile: this attribute, associated with the
Task element, defines the input source for the task.
- Use Wildcards to define a file search (e.g.: use one task to
process all files in a given directory). Please note that recursive
file searches are not yet supported.
- Use response files to load a
predefined list of files (scroll down to the 'Response File
Loading' section for more details).
- InputFiles: this attribute, associated with the
Task element, defines additional input files for the task.
Use this attribute to define files which the task is dependent on
and are not defined in the XML (e.g. – header files in code
builds).
- Defining this attribute is not required but is recommended for
incremental builds.
- You may define multiple files using a comma or semicolon as a
delimiter.
- Response file loading is also
supported.
- E.g.:
<Task SourceFile="main.c"
InputFiles="@ResponseFile1.txt; main.h; @ResponseFile2.txt "
/>
- OutputFiles: this attribute, associated with the
Task element, defines the output files for the task.
- Defining this attribute is not required but is recommended for
incremental builds.
- You may define multiple files using a comma or semicolon as a
delimiter.
- Response file loading is also
supported.
- DependsOn: this attribute, associated with
Task and TaskGroup defines the dependency relations.
Please note that multiple dependencies can be defined. You may
define multiple dependencies using a comma or semicolon as a
delimiter (e.g.: DependsOn="task1;task2"). For more information on
dependencies, see the section on dependency definitions.
- Tool: the Tool element defines the tool or
tools that will be used to execute the tasks. The tool executables
or related DLLs do not have to reside on the remote machines. You
can define the same application as a tool more then once if needed
(see demo XML).
There are two limitations on the type of applications that can be
used. These limitations may change in the future. The current
limitations are:
- The application can't change registry settings during its
operation. Registry Read-Only access is permitted.
- The application can't prompt for any required UI interactions
during its operation.
- Params: this attribute, associated with the
Tool and Task elements, defines the command line
inputs for the tasks. Please note that the parameters passed to the
task can be a mix of new parameters and parameters inherited from
the tool (see the inherited:params macro).
- WorkingDir: the WorkingDir attribute,
appearing in the Project, TaskGroup and Task
elements, defines the working directory used for tasks. The deepest
occurrence in the XML definition locally overrides any parent
definition. E.g.: in the demo XML, the file name passed to the
application does not contain the full path, but since the
Project element defined a WorkingDir, the application
can pick up the file.
- OutputPrefix / GroupPrefix: these attributes,
associated with Tool element, define the text that will
appear in the build monitor and logs.
- SkipIfProjectFailed: this attribute, associated
with the Tool and Task elements defines the behavior
in case a failure occurs (e.g.: skip the link task if a compile
task failed).
- SuccessExitCodes: this attribute, associated with
the Tool element allows changing the default 0 success exit
code returned from the tool. Ranges are allowed (e.g.:
'2..19').
- OutputFileMasks: this attribute, associated with
the Tool element allows defining a set of file types that
should be returned to the builder. E.g.: an application uses
intermediate files that are not required by the builder. To prevent
unnecessary file syncs over the network, a file mask for the
desired files only can be defined. Multiple masks are allowed.
E.g.: '*.o, *.d'.
Copyright (C) 2001-2008 Xoreax Software Ltd. All rights
reserved.