> ## Documentation Index
> Fetch the complete documentation index at: https://docs.incredibuild.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XML Syntax Specification

Last updated on Jan 26, 2026

| Element/Attribute Name | Level in XML Structure | Cardinality | Default | Macros | Description |
| - | - | - | - | - | - |
| BuildSet | Root | | | | |
| FormatVersio | 1 | 1..1 | 1 | | Syntax Version |
| Environments | 1 | 1..1 | | | Build Environments |
| Environment | 2 | 1..n | | | |
| Name | 3 | 1..1 | | | Environment Name |
| Tools | 3 | 1..1 | | | Tool List |
| Tool | 4 | 1..n | | | |
| MemoryNeedMB | 5 | | 0 | | The minimum memory (in MBs) required per task. The default value is calculated by dividing the machine’s total RAM by the number of cores configured on that machine. For example, a system with 32 GB of RAM and 8 cores has a default allocation of 4,096 MB per core. This ensures that the Coordinator can assign one task per core when tasks do not specify memory requirements. <br /> Note: Not all the cores are used if the minimum memory is set to a relatively high value. For example, if the MemoryNeedMB is set to 8,192 MB on a system with 32 GB of RAM and 8 cores, only 4 cores will be used. |
| Name | 5 | 1..1 | | | Tool Name |
| AllowRemote | 5 | 1..1 | FALSE | | Boolean. Whether this tool can run remotely |
| OutputFileMasks | 5 | 1..1 | \*.\* | | The output file types that should be retrieved from remote agents |
| Path | 5 | 1..1 | | Yes | Absolute path to executable |
| Params | 5 | 0..1 | | Yes | Default command line for tool |
| OutputPrefix | 5 | 0..1 | | Yes | Text describing tool operation for Tasks. e.g., 'Processing' |
| GroupPrefix | 5 | 0..1 | | Yes | Text describing tool operation for TaskGroups. e.g., 'Processing' |
| SkipIfProjectFailed | 5 | 0..1 | FALSE | | Boolean. Skip all Tool Tasks if a failure occurred. |
| AutoReserveMemory | 5 | 0..1 | FALSE | | Boolean. Should be set to true when a tool or child process is a compiler that uses precompiled headers (e.g. gcc). |
| VCCompiler | 5 | 0..1 | FALSE | | Boolean. Should be set to true when a tool or child process is Visual C/C++ compiler. |
| SuccessExitCodes | 5 | 0..1 | 0 | | The return codes that are defined as successful. <br /> e.g., '0..5'(Currently, 0 is always considered a successful run). |
| WarningExitCodes | 5 | 0..1 | | | Tasks returning this exit code are displayed as a yellow bar in the Build Monitor Progress page and are counted as warnings in the Summary page. <br /> e.g., '0..5'Apart from being displayed as a yellow bar and being summed up as warnings, tasks returning these exit codes are considered successful. |
| SingleInstancePerAgent | 4 | FALSE | | Do not allow concurrent instances of this tool on a single Agent. | |
| AllowRestartOnLocal | 5 | 0..1 | FALSE | | Allow Local Agent to run the same task as a remote Agent in parallel, as a performance optimization. |
| TimeLimit | 5 | 0..1 | | | Time limit, in seconds, after which a remote task is automatically canceled and reassigned to a different Agent. |
| AutoRecover | 5 | 0..1 | | | A comma-separated list of strings, which when found in a tool output, causes Incredibuild to reassign the task to another Agent and discard the previous output. <br /> Used to automatically recover from recoverable random errors. |
| Variables | 3 | 0..1 | | | Environment Variable Overrides |
| Variable | 4 | 1..n | | | |
| Name | 5 | 1..1 | | | Environment Variable Name |
| Value | 5 | 1..1 | | | Environment Variable Value |
| Project | 1 | 1..1 | | | Executed Project |
| Name | 2 | 1..1 | | | Project Name |
| Env | 2 | 1..1 | | | Project Environment. <br /> Must be associated with one of the defined environments under BuildSet. |
| WorkingDir | 2 | 0..1 | | | Project working directory. Inherited by a used tool. |
| TaskGroup | 2 | 0..n | | | A Group of Tasks to execute |
| Name | 3 | 0..1 | | | Group Name |
| Tool | 3 | 0..1 | | | Group default tool |
| DependsOn | 3 | 0..1 | | | Dependency Definition. Must be associated with an existing Task/TaskGroup.Multiple values allowed, delimited by commas or semi-colons. |
| WorkingDir | 3 | 0..1 | | | Group default Working dir. Overrides the default project Working directory. |
| Env | 3 | 0..1 | | | TaskGroup Environment. Must be associated with one of the defined environments under BuildSet. |
| StopOnErrors | 3 | 0..1 | | | Boolean. If set to True, the build stops immediately if any of the tasks in the task group fails. |
| Task | 3 | 0..n | | | Group sub-Tasks |
| TaskGroup | 3 | 0..n | | | Group sub-Groups |
| Task | 2 | 0..n | | | A Task to execute |
| Name | 3 | 0..1 | | | Task Name |
| SourceFile | 3 | 0..1 | | | Task source file. Files masks are allowed (e.g., c:\dev\\\*.cpp).Response file supported. |
| OutputFiles | 3 | 0..1 | | Yes | Task output file/files. Multiple values allowed, delimited by commas or semi-colons.Response file supported. |
| InputFiles | 3 | 0..1 | | | Additional input files. Multiple values allowed, delimited by commas or semi-colons.Response file supported. |
| Tool | 3 | 0..1 | | | Task tool. Overrides the default TaskGroup tool. |
| Params | 3 | 0..1 | | Yes | Command line arguments. Overrides the default tool arguments. Allows inner Variables. |
| Caption | 3 | | | Yes | The caption that will be displayed in the task's progress bar. If not specified, the source filename will be displayed. |
| DependsOn | 3 | 0..1 | | | Dependency Definition. Must be associated with an existing Task/TaskGroup.Multiple values allowed, delimited by commas or semi-colons. |
| SkipIfProjectFailed | 3 | 0..1 | FALSE | | Boolean. Skip Task if a failure occurred. |
| WorkingDir | 3 | 0..1 | | | Task Working dir. Overrides the default project Working directory. |
| StopOnErrors | 3 | 0..1 | FALSE | | If set to True, build stops immediately if the task fails. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.