Build Definition Reference - SMP/E

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.

Configuration Properties

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:
Restriction: Description:
boolean This is a boolean value which must be specified as either true or false.
integer This must be an integer value.
JSON array A JSON formatted collection of string values.
true/false This is a boolean value which must be specified as either true or false.
value list One of the listed values must be specified. For example: ALWAYS, NO_ERRORS, or NO_WARNINGS.
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.

borcBuildProperty Element

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.

Actions Array

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:
COPY
Copy contents of input data set to output data set.
argument1 The first argument for the specified action:
COPY
The input data set UUID.
argument2 The second argument for the specified action:
COPY
The output data set UUID.
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.

Example

<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>
    

Builds Array

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.

Example

<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>
    

Notes

orcbBuildProperty Element

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.

Notes