The macro is used to replace components from a workspace. Components that are not found in the target workspace are ignored.
The macro supports the SCM Macro Common Attributes, as well as, its own macro specific attributes. Click on the link for more information on the common attributes.
The following table describes the macro specific attributes for the macro:
| Macro Specific Attributes | ||
| Attribute | Description | Required |
| component | Specify the first component to replace. To specify the component, use the component name[@repo], alias, or UUID[@repo]. Additional components can be added with separate arg elements specified first in an embedded additionalArgs element. The default is all. | No |
| source | The source of the new components. This item must be of type specified in type. To specify an item, use its name[@repo], alias or UUID[@repo]. | Yes |
| target | The target workspace or stream to change. To specify the workspace or stream, use its name[@repo], alias, or UUID[@repo]. | Yes |
| type |
Source item type. One of: workspace, stream, snapshot or historyRef.
|
Yes |
This macro specifies the following options on the SCM command:
--all
The following options can be added to the command using the additionalArgs element:
--hierarchy
--multiple-hierarchy
--no-local-refresh
--overwrite-uncommitted
--skip-inaccessible
--nobackup
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed Materials - Property of IBM
(c) Copyright IBM Corporation 2020. All Rights Reserved.
Note to U.S. Government Users Restricted Rights:
Use, duplication or disclosure restricted by GSA ADP Schedule
Contract with IBM Corp.
-->
<project
basedir="."
default="all"
name="Example"
xmlns:xt="antlib:com.ibm.team.build.extensions.toolkit">
<description>Example</description>
<!-- Load build extensions -->
<xt:loadBuildExtensions/>
<xt:getJarLocation property="jarPath"/>
<!-- Load common resources -->
<import>
<javaresource name="scripts/smpe/imports/$common.xml">
<classpath location="${jarPath}"/>
</javaresource>
</import>
<import>
<javaresource name="scripts/smpe/imports/$scmcmd.xml">
<classpath location="${jarPath}"/>
</javaresource>
</import>
<xt:setPassword password="${password}" property="passwd"/>
<property name="userId" value="ADMIN"/>
<property name="conf" value="/var/MacroTestingScm/.jazz-scm"/>
<property name="root" value="/var/MacroTestingScm/root"/>
<property name="scmd" value="/var/MacroTestingScm/zips/scmtools/eclipse"/>
<!-- - - - - - - - - - - - - - - - - - - *
* Example *
*- - - - - - - - - - - - - - - - - - - -->
<target name="main" description="main">
<!-- Scm -->
<ScmProperties
authenticate="Password"
repository="repositoryAddress"
password="passwd"
userid="userId"
cfg="conf"
dir="root"
scm="scmd"
/>
<!-- Load -->
<ScmLoadWorkspace workspace="${workspace}"/>
<!-- Replace -->
<ScmReplaceComponents source="${stream2}" target="${workspace}" type="stream"/>
</target>
<target depends="main" description="all" name="all"/>
</project>