This section covers the SMP/E extensions to the Build Definition Reference. It describes IBM internal build definition resources and their characteristics. These items are selectively enabled as noted. They are available to IBM internal teams only.
The following sections describe how to define the various configuration properties in a build definition. Each section describes a build definition sub-element that can be specified within the createBuildDefinition or updateBuildDefinition element. These sub-elements are used to define information required by a build configuration element. Each build definition sub-element represents a corresponding build configuration element. Not all configuration elements are applicable to a type of build. Refer to the Notes section of each build definition sub-element description to determine which configuration elements are valid for the build you are defining.
All build configuration properties support the standard property attributes, but most attributes are ignored as the values for the attributes are set internally and can not be overridden. The following table describes the attributes and what affect, if any, specifying the attributes has on the build property itself.
| Configuration Properties | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Attribute | Required | Description | ||||||||||||
| name | Yes | Name of the configuration property. Valid names are described in each of the following sections. | ||||||||||||
| value | Yes |
Value of the configuration property. Valid values and restrictions are described in each of the following sections. Restrictions on the valid values are noted in the value column. The restrictions noted are as follows:
|
||||||||||||
| asis | No |
Valid values are: true and false. The default is false. Specifying this attribute will control how the property is resolved.
|
||||||||||||
| description | No | This attribute is ignored. | ||||||||||||
| genericEditAllowed | No | This attribute is ignored. | ||||||||||||
| kind | No | This attribute is ignored. | ||||||||||||
| label | No | This attribute is ignored. | ||||||||||||
| override | No | This attribute is ignored. | ||||||||||||
| required | No | This attribute is ignored. | ||||||||||||
| scheduleOverride | No | This attribute is ignored. | ||||||||||||
| wellKnown | No | This attribute is ignored. | ||||||||||||
Code borcBuildProperty elements to specify configuration details for the Build Orchestrator. The borcBuildProperty element accepts two attributes, name and value, which are both required. Other build properties can be referenced when specifying a value using the ${propertyName} format. The following table describes the valid values for the borcBuildProperty element attributes:
| Build Orchestrator Build Properties | ||
|---|---|---|
| name | value | Description |
| team.enterprise.smpe.build.orchestrator.actions | JSON array | Actions: This property is used to identify orchestrator actions. Each array item represents an orchestrator action item that has been converted to a string value. |
| team.enterprise.smpe.build.orchestrator.builds | JSON array | Builds: This property is used to identify orchestrator builds. Each array item represents an orchestrator build definition item that has been converted to a string value. |
| team.enterprise.smpe.build.orchestrator.enabled |
true false |
Enabled: This property is used to enable/disable the Build Orchestrator. |
| team.enterprise.smpe.build.orchestrator.engines | Engines: This property is a comma-separated list of build engine UUID strings used to identify orchestrator build engines. Each item in the list represents a build engine item ID that has been converted to a string value. | |
The actions array is a JSON object that is used to identify Build Orchestrator actions and the details associated with those actions. Each array item represents a Build Orchestrator action item that has been converted to a string value. The following table describes an action item - the JSON objects and name/value pairs in the item:
| Action Item | ||
|---|---|---|
| name | value | Description |
| action | COPY |
The action to take. The following lists the supported actions:
|
| argument1 |
The first argument for the specified action:
|
|
| argument2 |
The second argument for the specified action:
|
|
| fetch | boolean | Specifies whether or not to process the action during the fetch phase. |
| postBuild | boolean | Specifies whether or not to process the action during the post-build phase. |
| preBuild | boolean | Specifies whether or not to process the action during the pre-build phase. |
<xt:borcBuildProperty name="team.enterprise.smpe.build.orchestrator.actions">[
{
"action": "COPY",
"argument1": "_SujqEKoaEei-B83tQ0tP2g",
"argument2": "_YaLJEKoaEei-B83tQ0tP2g",
"fetch": "true",
"postBuild": "false",
"preBuild": "false"
},
{
"action": "COPY",
"argument1": "_YaLJEKoaEei-B83tQ0tP2g",
"argument2": "_SujqEKoaEei-B83tQ0tP2g",
"fetch": "true",
"postBuild": "false",
"preBuild": "false"
}
]</xt:borcBuildProperty>
The builds array is a JSON object that is used to identify Build Orchestrator builds and the details associated with them. Each array item represents a Build Orchestrator build item that has been converted to a string value. The following table describes a build item; the JSON objects, the name/value pairs, in the item:
| Build Item | ||
|---|---|---|
| name | value | Description |
| buildDefinition | The UUID of the build definition which this item represents. | |
| buildEngines | JSON array | A JSON array of build engine UUIDs that can process the build. |
| dependent | boolean | Specifies whether or not the build is a dependent build; a build which depends on one or more builds to complete before it can start. |
| dependsOn | JSON array | Specifies a JSON array of build definition UUIDs that this dependent build depends on. |
| enabled | boolean | Specifies whether or not this build item is enabled. |
| housekeeping | boolean | Specifies whether or not this is a housekeeping build item. |
| primary | boolean | Specifies whether or not this is a primary build item. |
| secondary | boolean | Specifies whether or not this is a secondary build item. |
<xt:borcBuildProperty name="team.enterprise.smpe.build.orchestrator.builds">[
{
"buildDefinition": "_bDJuwKogEeipE4uUDmmpzQ",
"buildEngines": [
"_rpfO4KogEeipE4uUDmmpzQ"
],
"dependent": "false",
"dependsOn": [
],
"enabled": "true",
"housekeeping": "false",
"primary": "true",
"secondary": "false"
},
{
"buildDefinition": "_jM75UKogEeipE4uUDmmpzQ",
"buildEngines": [
"_rpfO4KogEeipE4uUDmmpzQ"
],
"dependent": "false",
"dependsOn": [
],
"enabled": "false",
"housekeeping": "false",
"primary": "false",
"secondary": "false"
}
]</xt:borcBuildProperty>
Code orcbBuildProperty elements to specify configuration details for an orchestrated build. The orcbBuildProperty element accepts two attributes, name and value, which are both required. Other build properties can be referenced when specifying a value using the ${propertyName} format. The following table describes the valid values for the orcbBuildProperty element attributes:
| Orchestrated Build Build Properties | ||
|---|---|---|
| name | value | Description |
| team.enterprise.smpe.build.orchestrated.build | boolean | This property is used to identify an orchestrated build. |
| team.enterprise.smpe.build.orchestrated.build.orchestrator | This property is used to identify the build definition (UUID) for the Build Orchestrator. | |