The task is used to restore embedded property designations at the appropriate time.

Attributes

The task supports Build Extensions Debugging Attributes, as well as, its own task specific attributes. Click on a link for more information on the common attributes.

The following table describes the task specific attributes for the task:

Task Specific Attributes
Attribute Description Required
chars Specifies a property escape string. All instances of "${" will be changed to the value specified by chars. The chars attribute is optional. The default escape string is "\\{". No
name Name of the Ant property whose value is to be escaped. The value of this property will be updated with all instances of "${" changed to the escape string. Yes
verbose Specifies more message output. The default is false. No

Notes

Examples

Pass build properties to another build

<!-- Update build properties -->
<xt:createbuilddefinition
  repositoryAddress="${repositoryAddress}"
  userId="${repositoryUsername}"
  password="${repositoryPassword}"
  buildId="${buildId}"
  buildWorkspace="${workspaceName}"
  processAreaName="${processAreaName}"
  updateOnly="true">
  
  <!-- Jazz Source Control Properties -->
  <xt:teambuildproperty name="team.enterprise.scm.acceptBeforeFetch"           value="false"/>
  
  <!-- z/OS Dependency Build Properties -->
  <xt:dpndbuildproperty name="team.enterprise.build.ant.useGeneratedBuildFile" value="false"/>
  <xt:dpndbuildproperty name="team.enterprise.build.ant.buildFile"             value="$${etc.ant}/InitializationMacrodefs.xml"/>
  <xt:teambuildproperty name="team.enterprise.build.ant.preBuildFile"          value="$${etc.ant}/InitializationMacrodefsPreBuild.xml"/>
  <xt:teambuildproperty name="team.enterprise.build.ant.postBuildFile"         value="$${etc.ant}/InitializationMacrodefsPostBuild.xml"/>
  
  <!-- Ant with Enterprise Extensions Configuration -->
  <xt:dpndbuildproperty name="team.enterprise.build.ant.antArgs"               value="$${ant.arg} $${ant.com.arguments}"/>
  <xt:dpndbuildproperty name="team.enterprise.build.ant.javaVMArgs"            value="$${jvm.arg} $${jvm.com.arguments}"/>
  
  <!-- z/OS Dependency Build Options Properties -->
  <xt:dpndbuildproperty name="team.enterprise.build.ant.buildAllItems"         value="true"/>
  <xt:teambuildproperty name="team.enterprise.build.ant.buildableSubset"       value=""/>
  <xt:teambuildproperty name="team.enterprise.build.ant.buildChangesOnly"      value="false"/>
  
  <!-- Build Engines -->
  <xt:buildengine id="NASWRBA0S"/>
  <xt:deletebuildengine id="NASWBFA00"/>
  
  <!-- Copy Properties -->
  <xt:buildPropertyCopy copy="team.enterprise.scm.acceptBeforeFetch"            name="ims.build.ant.updateProperty.acceptBeforeFetch"/>
  <xt:buildPropertyCopy copy="team.enterprise.build.ant.buildChangesOnly"       name="ims.build.ant.updateProperty.buildChangesOnly"/>
  <xt:buildPropertyCopy copy="team.enterprise.scm.buildOnlyIfChanges"           name="ims.build.ant.updateProperty.buildOnlyIfChanges"/>
  <xt:buildPropertyCopy copy="team.enterprise.build.ant.buildableSubset"        name="ims.build.ant.updateProperty.buildableSubset"/>
  <xt:buildPropertyCopy copy="team.enterprise.scm.createFoldersForComponents"   name="ims.build.ant.updateProperty.createFoldersForComponents"/>
  <xt:buildPropertyCopy copy="team.enterprise.scm.deleteDestinationBeforeFetch" name="ims.build.ant.updateProperty.deleteDestinationBeforeFetch"/>
  <xt:buildPropertyCopy copy="team.enterprise.scm.fetchDestination"             name="ims.build.ant.updateProperty.fetchDestination"/>
  <xt:buildPropertyCopy copy="team.enterprise.scm.includeComponents"            name="ims.build.ant.updateProperty.includeComponents"/>
  <xt:buildPropertyCopy copy="team.enterprise.scm.loadComponents"               name="ims.build.ant.updateProperty.loadComponents"/>
  <xt:buildPropertyCopy copy="team.enterprise.build.ant.postBuildFile"          name="ims.build.ant.updateProperty.postBuildFile"/>
  <xt:buildPropertyCopy copy="team.enterprise.build.ant.preBuildFile"           name="ims.build.ant.updateProperty.preBuildFile"/>
  <xt:buildPropertyCopy copy="team.enterprise.scm.workspaceUUID"                name="ims.build.ant.updateProperty.workspaceUUID"/>
  <xt:buildPropertyCopy copy="team.enterprise.build.ant.antArgs"                name="ims.build.ant.updateProperty.antArgs"/>
  <xt:buildPropertyCopy copy="team.enterprise.build.ant.buildAllItems"          name="ims.build.ant.updateProperty.buildAllItems"/>
  <xt:buildPropertyCopy copy="team.enterprise.build.ant.buildFile"              name="ims.build.ant.updateProperty.buildFile"/>
  <xt:buildPropertyCopy copy="team.enterprise.build.ant.useGeneratedBuildFile"  name="ims.build.ant.updateProperty.useGeneratedBuildFile"/>
  <xt:buildPropertyCopy copy="team.enterprise.build.ant.javaVMArgs"             name="ims.build.ant.updateProperty.javaVMArgs"/>
</xt:createbuilddefinition>

<!-- Escape build properties -->
<xt:escapeproperty name="ims.build.ant.updateProperty.acceptBeforeFetch"/>
<xt:escapeproperty name="ims.build.ant.updateProperty.antArgs"/>
<xt:escapeproperty name="ims.build.ant.updateProperty.buildAllItems"/>
<xt:escapeproperty name="ims.build.ant.updateProperty.buildChangesOnly"/>
<xt:escapeproperty name="ims.build.ant.updateProperty.buildFile"/>
<xt:escapeproperty name="ims.build.ant.updateProperty.buildableSubset"/>
<xt:escapeproperty name="ims.build.ant.updateProperty.javaVMArgs"/>
<xt:escapeproperty name="ims.build.ant.updateProperty.postBuildFile"/>
<xt:escapeproperty name="ims.build.ant.updateProperty.preBuildFile"/>
<xt:escapeproperty name="ims.build.ant.updateProperty.useGeneratedBuildFile"/>

<!-- Delete properties file -->
<delete file="${overridePropertiesFile}" quiet="true"/>

<!-- Create properties file -->
<propertyfile file="${overridePropertiesFile}" comment="Override properties for ${buildId}">
  <entry key="ims.build.ant.buildId" value="${buildId}"/>
  <entry key="ims.build.ant.processAreaName" value="${processAreaName}"/>
  <entry key="ims.build.ant.submitBuildId" value="${buildDefinitionId}"/>
  <entry key="ims.build.ant.workspaceName" value="${workspaceName}"/>
  <entry key="ims.build.ant.updateProperty.acceptBeforeFetch" value="${ims.build.ant.updateProperty.acceptBeforeFetch}"/>
  <entry key="ims.build.ant.updateProperty.antArgs" value="${ims.build.ant.updateProperty.antArgs}"/>
  <entry key="ims.build.ant.updateProperty.buildAllItems" value="${ims.build.ant.updateProperty.buildAllItems}"/>
  <entry key="ims.build.ant.updateProperty.buildChangesOnly" value="${ims.build.ant.updateProperty.buildChangesOnly}"/>
  <entry key="ims.build.ant.updateProperty.buildFile" value="${ims.build.ant.updateProperty.buildFile}"/>
  <entry key="ims.build.ant.updateProperty.buildableSubset" value="${ims.build.ant.updateProperty.buildableSubset}"/>
  <entry key="ims.build.ant.updateProperty.javaVMArgs" value="${ims.build.ant.updateProperty.javaVMArgs}"/>
  <entry key="ims.build.ant.updateProperty.postBuildFile" value="${ims.build.ant.updateProperty.postBuildFile}"/>
  <entry key="ims.build.ant.updateProperty.preBuildFile" value="${ims.build.ant.updateProperty.preBuildFile}"/>
  <entry key="ims.build.ant.updateProperty.useGeneratedBuildFile" value="${ims.build.ant.updateProperty.useGeneratedBuildFile}"/>
</propertyfile>

<!-- Submit updated build -->
<RequestTeamBuildOverride id="${buildId}" overridePropertiesFile="${overridePropertiesFile}"/>