The macro is used to create a snapshot that is associated with a workspace or stream. If necessary, the snapshot creates baselines for itself.
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 |
| name | The name of the snapshot. If this option is omitted, the name of the repository workspace or stream is used. | No |
| workspace | The workspace or stream that is associated with the snapshot. To specify the workspace or stream, use its name[@repo], alias or uuid[@repo]. | Yes |
This macro specifies the following options on the SCM command:
--directory <arg>
--name <arg>
The following options can be added to the command using the additionalArgs element:
--allowPartialHierarchy
--components <arg>
--description <arg>
--failOnActiveCS
--forceBaselineCreation
--json
--overwrite-uncommitted
<?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}"/>
<!-- Accept -->
<ScmAccept source="${stream}" target="${workspace}"/>
<!-- Snapshot -->
<ScmCreateSnapshot name=""my new snapshot"" workspace="${workspace}"/>
</target>
<target depends="main" description="all" name="all"/>
</project>