# XML Definition

Builds are defined in an XML Schema file which is located at “cgi\_studio\_connector/schema/BuildProject.xsd”. This file can be used to validate xml files and with some editors (e.g. Visual-Studio) and provide code-completion when writing the XML file.

#### BuildProject-Element

Root Element. Contains list of Root-Paths, global Variables and Builds.

**Attributes:**

<table border="1" id="bkmrk-property-name-descri-7" style="border-collapse: collapse; width: 78.0247%;"><colgroup><col style="width: 20.4442%;"></col><col style="width: 14.4364%;"></col><col style="width: 65.2803%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Required**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>**version**</td><td class="align-left">Yes</td><td>Version of the Build-Project file.</td></tr></tbody></table>

**Children:**

<table border="1" id="bkmrk-argument-occurrence-" style="border-collapse: collapse; width: 78.0247%;"><colgroup><col style="width: 20.0947%;"></col><col style="width: 23.2345%;"></col><col style="width: 56.6733%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Occurrence**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>**RootPaths**</td><td class="align-left">1</td><td>List of Root-Paths</td></tr><tr><td>**Variables**</td><td class="align-left">1</td><td>List of global Variables. These Variables can be used in any Build.</td></tr><tr><td>**Builds**</td><td class="align-left">1</td><td>List of Builds</td></tr></tbody></table>

#### RootPaths-Element

Defines a list of Root-Paths.

**Attributes:**  
None

**Children:**

<table border="1" id="bkmrk-argument-occurrence--1" style="border-collapse: collapse; width: 78.0247%;"><colgroup><col style="width: 20.4087%;"></col><col style="width: 23.5485%;"></col><col style="width: 56.0453%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Occurrence**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>**RootPath**</td><td class="align-left">0 - \*</td><td>Root-Path</td></tr></tbody></table>

#### Variables-Element

Defines a list of Variables.

**Attributes:**  
None

**Children:**

<table border="1" id="bkmrk-argument-occurrence--2" style="border-collapse: collapse; width: 78.0247%;"><colgroup><col style="width: 20.0947%;"></col><col style="width: 23.8624%;"></col><col style="width: 56.0453%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Occurrence**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>**Variable**</td><td class="align-left">0 - \*</td><td>Variable</td></tr></tbody></table>

#### Builds-Element

Defines a list of Builds.

**Attributes:**  
None

**Children:**

<table border="1" id="bkmrk-argument-occurrence--3" style="border-collapse: collapse; width: 77.7778%;"><colgroup><col style="width: 20.3498%;"></col><col style="width: 23.9973%;"></col><col style="width: 55.653%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Occurrence**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>**Build**</td><td class="align-left">0 - \*</td><td>Build</td></tr></tbody></table>

#### RootPath-Element

Defines a Root-Path. Root-Paths can be referenced by variables to make them relative to a common path.

**Attributes:**

<table border="1" id="bkmrk-argument-required-de" style="border-collapse: collapse; width: 78.1481%;"><colgroup><col style="width: 20.4114%;"></col><col style="width: 14.4072%;"></col><col style="width: 65.1814%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Required**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>**name**</td><td class="align-left">Yes</td><td>Name of the Root-Path.</td></tr><tr><td>**description**</td><td class="align-left">No</td><td>Description of the argument.</td></tr></tbody></table>

**Children:** None

#### Variable-Element

A variable for the build which will be applied for all executed scripts.

**Attributes:**

<table border="1" id="bkmrk-argument-required-de-1" style="border-collapse: collapse; width: 78.0247%; height: 255.578px;"><colgroup><col style="width: 20.4442%;"></col><col style="width: 14.2616%;"></col><col style="width: 65.2966%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td class="align-center" style="background-color: rgb(230, 126, 35); height: 29.7969px;"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35); height: 29.7969px;"><span style="color: rgb(255, 255, 255);">**Required**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35); height: 29.7969px;"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr style="height: 44.7969px;"><td style="height: 44.7969px;">**name**</td><td class="align-left" style="height: 44.7969px;">Yes</td><td style="height: 44.7969px;">Name of the variable.</td></tr><tr style="height: 44.7969px;"><td style="height: 44.7969px;">**type**</td><td class="align-left" style="height: 44.7969px;">Yes</td><td style="height: 44.7969px;">Type of the variable. Valid values are ‘Value’, ‘Option’, ‘Path’ and ‘File’</td></tr><tr style="height: 46.5938px;"><td style="height: 46.5938px;">**root\_path\_key**</td><td class="align-left" style="height: 46.5938px;">No</td><td style="height: 46.5938px;">If set, paths (or files) will be relative to the given Root-Path.</td></tr><tr style="height: 44.7969px;"><td style="height: 44.7969px;">**value**</td><td class="align-left" style="height: 44.7969px;">Yes</td><td style="height: 44.7969px;">Value of the variable.  
If the type is ‘Option’, valid values can be specified as a list of values separated by semicolons. If left blank, any value is considered valid.  
</td></tr><tr style="height: 44.7969px;"><td style="height: 44.7969px;">**description**</td><td class="align-left" style="height: 44.7969px;">Yes</td><td style="height: 44.7969px;">Description of the variable.</td></tr></tbody></table>

**Children:**  
None

#### Build-Element

A build which can be executed.

**Attributes:**

<table border="1" id="bkmrk-argument-required-de-2" style="border-collapse: collapse; width: 78.0247%; height: 175.781px;"><colgroup><col style="width: 20.4087%;"></col><col style="width: 13.1871%;"></col><col style="width: 66.4067%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td class="align-center" style="background-color: rgb(230, 126, 35); height: 29.7969px;"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35); height: 29.7969px;"><span style="color: rgb(255, 255, 255);">**Required**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35); height: 29.7969px;"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**name**</td><td class="align-left" style="height: 29.7969px;">Yes</td><td style="height: 29.7969px;">Name of the build.</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**description**</td><td class="align-left" style="height: 29.7969px;">Yes</td><td style="height: 29.7969px;">Description of the build.</td></tr></tbody></table>

**Children:**

<table border="1" id="bkmrk-argument-occurrence--4" style="border-collapse: collapse; width: 82.3457%;"><colgroup><col style="width: 20.4204%;"></col><col style="width: 16.519%;"></col><col style="width: 63.0606%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Occurrence**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>**ScriptPath**</td><td class="align-left">1</td><td>Path to the script files which should be executed for this build.</td></tr><tr><td>**OutputPath**</td><td class="align-left">1</td><td>Output-Path for this build.</td></tr><tr><td>**Variable**</td><td class="align-left">0 - \*</td><td>Variable for this build</td></tr></tbody></table>

#### ScriptPath-Element

Path to the script files which are executed when this build is started. The script files should start with a number to indicate their execution order.

**Attributes:**

<table border="1" id="bkmrk-argument-required-de-3" style="border-collapse: collapse; width: 77.7778%; height: 175.781px;"><colgroup><col style="width: 20.4087%;"></col><col style="width: 13.1871%;"></col><col style="width: 66.4067%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td class="align-center" style="background-color: rgb(230, 126, 35); height: 29.7969px;"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35); height: 29.7969px;"><span style="color: rgb(255, 255, 255);">**Required**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35); height: 29.7969px;"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**value**</td><td class="align-left" style="height: 29.7969px;">Yes</td><td style="height: 29.7969px;">Relative path.</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**root\_path**</td><td class="align-left" style="height: 29.7969px;">No</td><td style="height: 29.7969px;">If set, path will be relative to the given Root-Path.</td></tr></tbody></table>

**Children:**  
None

#### OutputPath-Element

Main output path for this build. Even if the build doesn’t produce any artifacts or generates output into other directories, at least the log file will be saved here.

**Attributes:**

<table border="1" id="bkmrk-argument-required-de-4" style="border-collapse: collapse; width: 77.9012%; height: 175.781px;"><colgroup><col style="width: 20.4762%;"></col><col style="width: 14.284%;"></col><col style="width: 65.2399%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td class="align-center" style="background-color: rgb(230, 126, 35); height: 29.7969px;"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35); height: 29.7969px;"><span style="color: rgb(255, 255, 255);">**Required**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35); height: 29.7969px;"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**value**</td><td class="align-left" style="height: 29.7969px;">Yes</td><td style="height: 29.7969px;">Relative path.</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**root\_path**</td><td class="align-left" style="height: 29.7969px;">No</td><td style="height: 29.7969px;">If set, path will be relative to the given Root-Path.</td></tr></tbody></table>

**Children:**  
None

---