blob: e78572b8ee38150657ee578c871169d323f8a45b [file] [log] [blame]
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<title>Clearcase Tasks</title>
<link rel="stylesheet" type="text/css" href="../stylesheets/antmanual.css">
</head>
<body>
<h1>Ant ClearCase Tasks</h1>
<p>by:<br>
Curtis White (cwhite at aracnet dot com),<br>
Sean P. Kane (spkane at genomatica dot com), and<br>
Rob Anderson (Anderson.Rob at vectorscm dot com)</p>
<p>Version 1.6 - 02/25/2003</p>
<h1>ClearCase Support</h1>
<h2>Table of Contents</h2>
<ul>
<li><A href="#introduction">Introduction</a>
<li><A href="#cccheckin">CCCheckin</a>
<li><A href="#cccheckout">CCCheckout</a>
<li><A href="#ccuncheckout">CCUnCheckout</a>
<li><A href="#ccupdate">CCUpdate</a>
<li><A href="#ccmklbtype">CCMklbtype</a>
<li><A href="#ccmklabel">CCMklabel</a>
<li><A href="#ccrmtype">CCRmtype</a>
<li><A href="#cclock">CCLock</a>
<li><A href="#ccunlock">CCUnlock</a>
<li><A href="#ccmkbl">CCMkbl</a></li>
</ul>
<hr>
<h2><a name="introduction">Introduction</a></h2>
<p>Ant provides several optional tasks for working with ClearCase. These tasks correspond to various
ClearCase commands using the Cleartool program. The current tasks avaliable for Ant correspond to only
a few of the significant ClearCase commands.</p>
<p>More tasks can be easily added by deriving from the ClearCase class and then adding
functionality that is specific to that ClearCase command.</p>
<hr>
<h2><a name="cccheckin">CCCheckin</a></h2>
<h3>Description</h3>
Task to perform a "cleartool checkin" command to ClearCase.
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<th>Attribute</th>
<th>Values</th>
<th>Required</th>
</tr>
<tr>
<td>viewpath</td>
<td>Path to the ClearCase view file or directory that the command
will operate on</td>
<td>No</td>
</tr>
<tr>
<td>comment</td>
<td>Specify a comment. Only one of comment or commentfile may be used.</td>
<td>No</td>
</tr>
<tr>
<td>commentfile</td>
<td>Specify a file containing a comment. Only one of comment or commentfile
may be used.</td>
<td>No</td>
</tr>
<tr>
<td>nowarn</td>
<td>Suppress warning messages</td>
<td>No</td>
</tr>
<tr>
<td>preservetime</td>
<td>Preserve the modification time</td>
<td>No</td>
</tr>
<tr>
<td>keepcopy</td>
<td>Keeps a copy of the file with a .keep extension</td>
<td>No</td>
</tr>
<tr>
<td>identical</td>
<td>Allows the file to be checked in even if it is identical
to the original</td>
<td>No</td>
</tr>
</table>
<h3>Examples</h3>
<blockquote>
<pre>
&lt;cccheckin viewpath="c:/views/viewdir/afile"
commentfile="acomment.txt"
nowarn="true"
identical="true"/&gt;
</pre>
</blockquote>
<p>Does a ClearCase <i>checkin</i> on the file <i>c:/views/viewdir/afile</i>.
Comment text from the file <i>acomment.txt</i> is added to ClearCase as a comment.
All warning messages are suppressed. The file is checked in even if it is
<i>identical</i> to the original.</p>
<hr>
<h2><a name="cccheckout">CCCheckout</a></h2>
<h3>Description</h3>
Task to perform a "cleartool checkout" command to ClearCase.
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<th>Attribute</th>
<th>Values</th>
<th>Required</th>
</tr>
<tr>
<td>viewpath</td>
<td>Path to the ClearCase view file or directory that the command
will operate on</td>
<td>No</td>
</tr>
<tr>
<td>reserved</td>
<td>Specifies whether to check out the file as reserved or not</td>
<td>Yes</td>
</tr>
<tr>
<td>out</td>
<td>Creates a writable file under a different filename</td>
<td>No</td>
</tr>
<tr>
<td>nodata</td>
<td>Checks out the file but does not create an editable file
containing its data</td>
<td>No</td>
</tr>
<tr>
<td>branch</td>
<td>Specify a branch to check out the file to</td>
<td>No</td>
</tr>
<tr>
<td>version</td>
<td>Allows checkout of a version other than main latest</td>
<td>No</td>
</tr>
<tr>
<td>nowarn</td>
<td>Suppress warning messages</td>
<td>No</td>
</tr>
<tr>
<td>comment</td>
<td>Specify a comment. Only one of comment or commentfile may be used.</td>
<td>No</td>
</tr>
<tr>
<td>commentfile</td>
<td>Specify a file containing a comment. Only one of comment or
commentfile may be used.</td>
<td>No</td>
</tr>
</table>
<h3>Examples</h3>
<blockquote>
<pre>
&lt;cccheckout viewpath="c:/views/viewdir/afile"
reserved="true"
branch="abranch"
nowarn="true"
comment="Some comment text"/&gt;
</pre>
</blockquote>
<p>Does a ClearCase <i>checkout</i> on the file <i>c:/views/viewdir/afile</i>.
It is checked out as <i>reserved</i> on branch called <i>abranch</i>. All
warning messages are suppressed. A <i>Some comment text</i> is added to
ClearCase as a comment.</p>
<hr>
<h2><a name="ccuncheckout">CCUnCheckout</a></h2>
<h3>Description</h3>
Task to perform a UnCheckout command to ClearCase.
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<th>Attribute</th>
<th>Values</th>
<th>Required</th>
</tr>
<tr>
<td>viewpath</td>
<td>Path to the ClearCase view file or directory that the command
will operate on</td>
<td>No</td>
</tr>
<tr>
<td>keepcopy</td>
<td>Specifies whether to keep a copy of the file with a .keep
extension or not</td>
<td>No</td>
</tr>
</table>
<h3>Examples</h3>
<blockquote>
<pre>
&lt;ccuncheckout viewpath="c:/views/viewdir/afile"
keepcopy="true"/&gt;
</pre>
</blockquote>
<p>Does a ClearCase <i>uncheckout</i> on the file <i>c:/views/viewdir/afile</i>.
A copy of the file called <i>c:/views/viewdir/afile.keep</i> is kept.</p>
<hr>
<h2><a name="ccupdate">CCUpdate</a></h2>
<h3>Description</h3>
Task to perform an "cleartool update" command to ClearCase.
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<th>Attribute</th>
<th>Values</th>
<th>Required</th>
</tr>
<tr>
<td>viewpath</td>
<td>Path to the ClearCase snapshot view file or directory that the command
will operate on</td>
<td>No</td>
</tr>
<tr>
<td>graphical</td>
<td>Displays a graphical dialog during the update</td>
<td>No</td>
</tr>
<tr>
<td>log</td>
<td>Specifies a log file for ClearCase to write to</td>
<td>No</td>
</tr>
<tr>
<td>overwrite</td>
<td>Specifies whether to overwrite hijacked files or not</td>
<td>No</td>
</tr>
<tr>
<td>rename</td>
<td>Specifies that hijacked files should be renamed with a .keep extension</td>
<td>No</td>
</tr>
<tr>
<td>currenttime</td>
<td>Specifies that modification time should be written as the
current time. Either currenttime or preservetime can be
specified.</td>
<td>No</td>
</tr>
<tr>
<td>preservetime</td>
<td>Specifies that modification time should preserved from the
VOB time. Either currenttime or preservetime can be
specified.</td>
<td>No</td>
</tr>
</table>
<h3>Examples</h3>
<blockquote>
<pre>
&lt;ccupdate viewpath="c:/views/viewdir"
graphical="false"
log="log.log"
overwrite="true"
currenttime="true"
rename="false"/&gt;
</pre>
</blockquote>
<p>Does a ClearCase <i>update</i> on the snapshot view directory <i>c:/views/viewdir</i>.
A graphical dialog will be displayed. The output will be logged to
<i>log.log</i> and it will overwrite any hijacked files. The modified
time will be set to the current time.</p>
<hr>
<h2><a name="ccmklbtype">CCMklbtype</a></h2>
<h3>Description</h3>
Task to perform a "mklbtype" command to ClearCase.
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<th>Attribute</th>
<th>Values</th>
<th>Required</th>
</tr>
<tr>
<td>typename</td>
<td>Name of the label type to create</td>
<td>Yes</td>
<tr>
<tr>
<td>vob</td>
<td>Name of the VOB</td>
<td>No</td>
<tr>
<tr>
<td>replace</td>
<td>Replace an existing label definition of the same type</td>
<td>No</td>
<tr>
<tr>
<td>global</td>
<td>Either global or ordinary can be specified, not both. Creates a label type that is global to the VOB or to VOBs that use this VOB</td>
<td>No</td>
<tr>
<tr>
<td>ordinary</td>
<td>Either global or ordinary can be specified, not both. Creates a label type that can be used only in the current VOB. <B>Default</B></td>
<td>No</td>
<tr>
<tr>
<td>pbranch</td>
<td>Allows the label type to be used once per branch in a given element's version tree</td>
<td>No</td>
<tr>
<tr>
<td>shared</td>
<td>Sets the way mastership is checked by ClearCase. See ClearCase documentation for details</td>
<td>No</td>
<tr>
<tr>
<td>comment</td>
<td>Specify a comment. Only one of comment or cfile may be used.</td>
<td>No</td>
<tr>
<tr>
<td>commentfile</td>
<td>Specify a file containing a comment. Only one of comment or cfile may be used.</td>
<td>No</td>
<tr></tr>
</table>
<h3>Examples</h3>
<blockquote>
<pre>
&lt;ccmklbtype typename="VERSION_1"
ordinary="true"
comment="Development version 1"/&gt;
</pre>
</blockquote>
<p>Does a ClearCase <i>mklbtype</i> to create a label type named <i>VERSION_1</i>.
It is created as <i>ordinary</i> so it is available only to the current VOB.
The text <i>Development version 1</i> is added as a comment.</p>
<hr>
<h2><a name="ccmklabel">CCMklabel</a></h2>
<h3>Description</h3>
Task to perform a "mklabel" command to ClearCase.
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<th>Attribute</th>
<th>Values</th>
<th>Required</th>
</tr>
<tr>
<td>typename</td>
<td>Name of the label type</td>
<td>Yes</td>
<tr>
<tr>
<td>viewpath</td>
<td>Path to the ClearCase view file or directory that the command will operate on</td>
<td>No</td>
<tr>
<tr>
<td>replace</td>
<td>Replace a label of the same type on the same branch</td>
<td>No</td>
<tr>
<tr>
<td>recurse</td>
<td>Process each subdirectory under viewpath</td>
<td>No</td>
<tr>
<tr>
<td>version</td>
<td>Identify a specific version to attach the label to</td>
<td>No</td>
<tr>
<tr>
<td>vob</td>
<td>Name of the VOB</td>
<td>No</td>
<tr>
<tr>
<td>comment</td>
<td>Specify a comment. Only one of comment or cfile may be used.</td>
<td>No</td>
<tr>
<tr>
<td>commentfile</td>
<td>Specify a file containing a comment. Only one of comment or cfile may be used.</td>
<td>No</td>
<tr></tr>
</table>
<h3>Examples</h3>
<blockquote>
<pre>
&lt;ccmklabel viewpath="c:/views/viewdir/afile"
comment="Some comment text"
recurse="true"
version="\main\2"
typename="VERSION_1"/&gt;
</pre>
</blockquote>
<p>Does a ClearCase <i>mklabel</i> on the file <i>c:/views/viewdir/afile</i> under
the main branch for version 2 (<i>\main\2</i>). Text <i>Some comment text</i> is added
as a comment. It will <i>recurse</i> all subdirectories.
<hr>
<h2><a name="ccrmtype">CCRmtype</a></h2>
<h3>Description</h3>
Task to perform a "rmtype" command to ClearCase.
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<th>Attribute</th>
<th>Values</th>
<th>Required</th>
</tr>
<tr>
<td>typekind</td>
<td>The kind of type to create. Valid types are:
<table border="0" width="40%">
<tr>
<td width="15%"> </td>
<td><b>attype</b><br>
<b>brtype</b><br>
<b>eltype</b><br>
<b>hltype</b><br>
<b>lbtype</b><br>
<b>trtype</b>
</td>
<td>- <br>
- <br>
- <br>
- <br>
- <br>
-
</td>
<td>attribute type<br>
branch type<br>
element type<br>
hyperlink type<br>
label type<br>
trigger type
</td>
</tr>
</table>
</td>
<td>Yes</td>
<tr>
<tr>
<td>typename</td>
<td>The name of the type to remove</td>
<td>Yes</td>
<tr>
<tr>
<td>ignore</td>
<td>Used with trigger types only. Forces removal of trigger type even if a pre-operation trigger would prevent its removal</td>
<td>No</td>
<tr>
<tr>
<td>rmall</td>
<td>Removes all instances of a type and the type object itself</td>
<td>No</td>
<tr>
<tr>
<td>comment</td>
<td>Specify a comment. Only one of comment or cfile may be used.</td>
<td>No</td>
<tr>
<tr>
<td>commentfile</td>
<td>Specify a file containing a comment. Only one of comment or cfile may be used.</td>
<td>No</td>
<tr></tr>
</table>
<h3>Examples</h3>
<blockquote>
<pre>
&lt;ccrmtype typekind="lbtype"
typename="VERSION_1"
commentfile="acomment.txt"
rmall="true"/&gt;
</pre>
</blockquote>
<p>Does a ClearCase <i>rmtype</i> to remove a label type (<i>lbtype</i>) named <i>VERSION_1</i>.
Comment text from the file <i>acomment.txt</i> is added as a comment. All instances of the type
are removed, including the type object itself.</p>
<hr>
<h2><a name="cclock">CCLock</a></h2>
<h3>Description</h3>
Task to perform a "cleartool lock" command to ClearCase.
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<th>Attribute</th>
<th>Values</th>
<th>Required</th>
</tr>
<tr>
<td>replace</td>
<td>Specifies replacing an existing lock</td>
<td>No</td>
<tr>
<tr>
<td>nusers</td>
<td>Specifies user(s) who can still modify the object</td>
<td>No</td>
<tr>
<tr>
<td>obsolete</td>
<td>Specifies that the object should be marked obsolete</td>
<td>No</td>
<tr>
<tr>
<td>comment</td>
<td>Specifies how to populate comments fields</td>
<td>No</td>
<tr>
<tr>
<td>pname</td>
<td>Specifies the object pathname to be locked.</td>
<td>Yes</td>
<tr>
<td>objselect</td>
<td>Specifies the object(s) to be locked.</td>
<td>Yes</td>
<tr>
</table>
<h3>Examples</h3>
<blockquote>
<pre>
&lt;cclock
objselect="stream:Application_Integration@\MyProject_PVOB"
/&gt;
</pre>
</blockquote>
<p>Does a ClearCase <i>lock</i> on the object <i>stream:Application_Integration@\MyProject_PVOB</i>.</p>
<hr>
<h2><a name="ccunlock">CCUnlock</a></h2>
<h3>Description</h3>
Task to perform a "cleartool unlock" command to ClearCase.
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<th>Attribute</th>
<th>Values</th>
<th>Required</th>
</tr>
<tr>
<td>comment</td>
<td>Specifies how to populate comments fields</td>
<td>No</td>
<tr>
<tr>
<td>pname</td>
<td>Specifies the object pathname to be unlocked.</td>
<td>Yes</td>
<tr>
<td>objselect</td>
<td>Specifies the object(s) to be unlocked.</td>
<td>Yes</td>
<tr>
</table>
<h3>Examples</h3>
<blockquote>
<pre>
&lt;ccunlock
objselect="stream:Application_Integration@\MyProject_PVOB"
/&gt;
</pre>
</blockquote>
<p>Does a ClearCase <i>unlock</i> on the object <i>stream:Application_Integration@\MyProject_PVOB</i>.</p>
<hr>
<h2><a name="ccmkbl">CCMkbl</a></h2>
<h3>Description</h3>
Task to perform a "cleartool mkbl" command to ClearCase.
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<th>Attribute</th>
<th>Values</th>
<th>Required</th>
</tr>
<tr>
<td>comment</td>
<td>Specify a comment. Only one of comment or cfile may be
used.</td>
<td>No</td>
</tr>
<tr>
<td>commentfile</td>
<td>Specify a file containing a comment. Only one of comment or
cfile may be used.</td>
<td>No</td>
</tr>
<tr>
<td>baselinerootname</td>
<td>Specify the name to be associated with the baseline.</td>
<td>Yes</td>
</tr>
<tr>
<td>nowarn</td>
<td>Suppress warning messages</td>
<td>No</td>
<tr>
<tr>
<td>identical</td>
<td>Allows the baseline to be created even if it is identical to the
previous baseline.</td>
<td>No</td>
</tr>
<tr>
<td>full</td>
<td>Creates a full baseline.</td>
<td>No</td>
</tr>
<tr>
<td>nlabel</td>
<td>Allows the baseline to be created without a label.</td>
<td>No</td>
</tr>
</table>
<h3>Examples</h3>
<blockquote>
<pre>
&lt;ccmkbl
baselinerootname="Application_Baseline_AUTO"
identical="yes"
full="no"
viewpath="v:\ApplicationCC"
/&gt;
</pre>
</blockquote>
<p>Does a ClearCase <i>mkbl</i> on the Integration view at <i>v:\ApplicationCC</i>
even if it is <i>identical</i> to a previous baseline. The new baseline with be
incremental and named "Application_Baseline_AUTO".</p>
<hr>
<p align="center">Copyright © 2000-2003 Apache Software Foundation. All rights
reserved.</p>
</body>
</html>