# Ant ClearCase Tasks

by:
Curtis White (cwhite at aracnet dot com),
Sean P. Kane (spkane at genomatica dot com), and
Rob Anderson (Anderson.Rob at vectorscm dot com)

Version 1.6 - 02/25/2003

# ClearCase Support

## Table of Contents

- Introduction
- CCCheckin
- CCCheckout
- CCUnCheckout
- CCUpdate
- CCMklbtype
- CCMklabel
- CCRmtype
- CCLock
- CCUnlock
- CCMkbl

## Introduction

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.

More tasks can be easily added by deriving from the ClearCase class and then adding functionality that is specific to that ClearCase command.

## CCCheckin

### Description

Task to perform a "cleartool checkin" command to ClearCase.

### Parameters

Attribute | Values | Required
--- | --- | ---
viewpath | Path to the ClearCase view file or directory that the command will operate on | No
comment | Specify a comment. Only one of comment or commentfile may be used. | No
commentfile | Specify a file containing a comment. Only one of comment or commentfile may be used. | No
nowarn | Suppress warning messages | No
preservetime | Preserve the modification time | No
keepcopy | Keeps a copy of the file with a .keep extension | No
identical | Allows the file to be checked in even if it is identical to the original | No

### Examples

>     <cccheckin viewpath="c:/views/viewdir/afile"
>             commentfile="acomment.txt"
>             nowarn="true"
>             identical="true"/>

Does a ClearCase checkin on the file c:/views/viewdir/afile. Comment text from the file acomment.txt is added to ClearCase as a comment. All warning messages are suppressed. The file is checked in even if it is identical to the original.

## CCCheckout

### Description

Task to perform a "cleartool checkout" command to ClearCase.

### Parameters

Attribute | Values | Required
--- | --- | ---
viewpath | Path to the ClearCase view file or directory that the command will operate on | No
reserved | Specifies whether to check out the file as reserved or not | Yes
out | Creates a writable file under a different filename | No
nodata | Checks out the file but does not create an editable file containing its data | No
branch | Specify a branch to check out the file to | No
version | Allows checkout of a version other than main latest | No
nowarn | Suppress warning messages | No
comment | Specify a comment. Only one of comment or commentfile may be used. | No
commentfile | Specify a file containing a comment. Only one of comment or commentfile may be used. | No

### Examples

>     <cccheckout viewpath="c:/views/viewdir/afile"
>             reserved="true"
>             branch="abranch"
>             nowarn="true"
>             comment="Some comment text"/>

Does a ClearCase checkout on the file c:/views/viewdir/afile. It is checked out as reserved on branch called abranch. All warning messages are suppressed. A Some comment text is added to ClearCase as a comment.

## CCUnCheckout

### Description

Task to perform a UnCheckout command to ClearCase.

### Parameters

Attribute | Values | Required
--- | --- | ---
viewpath | Path to the ClearCase view file or directory that the command will operate on | No
keepcopy | Specifies whether to keep a copy of the file with a .keep extension or not | No

### Examples

>     <ccuncheckout viewpath="c:/views/viewdir/afile"
>             keepcopy="true"/>

Does a ClearCase uncheckout on the file c:/views/viewdir/afile. A copy of the file called c:/views/viewdir/afile.keep is kept.

## CCUpdate

### Description

Task to perform an "cleartool update" command to ClearCase.

### Parameters

Attribute | Values | Required
--- | --- | ---
viewpath | Path to the ClearCase snapshot view file or directory that the command will operate on | No
graphical | Displays a graphical dialog during the update | No
log | Specifies a log file for ClearCase to write to | No
overwrite | Specifies whether to overwrite hijacked files or not | No
rename | Specifies that hijacked files should be renamed with a .keep extension | No
currenttime | Specifies that modification time should be written as the current time. Either currenttime or preservetime can be specified. | No
preservetime | Specifies that modification time should preserved from the VOB time. Either currenttime or preservetime can be specified. | No

### Examples

>     <ccupdate viewpath="c:/views/viewdir"
>             graphical="false"
>             log="log.log"
>             overwrite="true"
>             currenttime="true"
>             rename="false"/>

Does a ClearCase update on the snapshot view directory c:/views/viewdir. A graphical dialog will be displayed. The output will be logged to log.log and it will overwrite any hijacked files. The modified time will be set to the current time.

## CCMklbtype

### Description

Task to perform a "mklbtype" command to ClearCase.

### Parameters

Attribute | Values | Required
--- | --- | ---
typename | Name of the label type to create | Yes
vob | Name of the VOB | No
replace | Replace an existing label definition of the same type | No
global | 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 | No
ordinary | Either global or ordinary can be specified, not both. Creates a label type that can be used only in the current VOB. Default | No
pbranch | Allows the label type to be used once per branch in a given element's version tree | No
shared | Sets the way mastership is checked by ClearCase. See ClearCase documentation for details | No
comment | Specify a comment. Only one of comment or cfile may be used. | No
commentfile | Specify a file containing a comment. Only one of comment or cfile may be used. | No

### Examples

>     <ccmklbtype typename="VERSION_1"
>             ordinary="true"
>             comment="Development version 1"/>

Does a ClearCase mklbtype to create a label type named VERSION_1. It is created as ordinary so it is available only to the current VOB. The text Development version 1 is added as a comment.

## CCMklabel

### Description

Task to perform a "mklabel" command to ClearCase.

### Parameters

Attribute | Values | Required
--- | --- | ---
typename | Name of the label type | Yes
viewpath | Path to the ClearCase view file or directory that the command will operate on | No
replace | Replace a label of the same type on the same branch | No
recurse | Process each subdirectory under viewpath | No
version | Identify a specific version to attach the label to | No
vob | Name of the VOB | No
comment | Specify a comment. Only one of comment or cfile may be used. | No
commentfile | Specify a file containing a comment. Only one of comment or cfile may be used. | No

### Examples

>     <ccmklabel viewpath="c:/views/viewdir/afile"
>             comment="Some comment text"
>             recurse="true"
>             version="\main\2"
>             typename="VERSION_1"/>

Does a ClearCase mklabel on the file c:/views/viewdir/afile under the main branch for version 2 (\main\2). Text Some comment text is added as a comment. It will recurse all subdirectories.

## CCRmtype

### Description

Task to perform a "rmtype" command to ClearCase.

### Parameters

Attribute | Values | Required
--- | --- | ---

typekind

The kind of type to create. Valid types are:

| attype brtype eltype hltype lbtype trtype | - - - - - - | attribute type branch type element type hyperlink type label type trigger type

Yes

typename | The name of the type to remove | Yes
ignore | Used with trigger types only. Forces removal of trigger type even if a pre-operation trigger would prevent its removal | No
rmall | Removes all instances of a type and the type object itself | No
comment | Specify a comment. Only one of comment or cfile may be used. | No
commentfile | Specify a file containing a comment. Only one of comment or cfile may be used. | No

### Examples

>     <ccrmtype typekind="lbtype"
>             typename="VERSION_1"
>             commentfile="acomment.txt"
>             rmall="true"/>

Does a ClearCase rmtype to remove a label type (lbtype) named VERSION_1. Comment text from the file acomment.txt is added as a comment. All instances of the type are removed, including the type object itself.

## CCLock

### Description

Task to perform a "cleartool lock" command to ClearCase.

### Parameters

Attribute | Values | Required
--- | --- | ---
replace | Specifies replacing an existing lock | No
nusers | Specifies user(s) who can still modify the object | No
obsolete | Specifies that the object should be marked obsolete | No
comment | Specifies how to populate comments fields | No
pname | Specifies the object pathname to be locked. | Yes
objselect | Specifies the object(s) to be locked. | Yes

### Examples

>     <cclock
>         objselect="stream:Application_Integration@\MyProject_PVOB"
>         />

Does a ClearCase lock on the object stream:Application_Integration@\MyProject_PVOB.

## CCUnlock

### Description

Task to perform a "cleartool unlock" command to ClearCase.

### Parameters

Attribute | Values | Required
--- | --- | ---
comment | Specifies how to populate comments fields | No
pname | Specifies the object pathname to be unlocked. | Yes
objselect | Specifies the object(s) to be unlocked. | Yes

### Examples

>     <ccunlock
>         objselect="stream:Application_Integration@\MyProject_PVOB"
>         />

Does a ClearCase unlock on the object stream:Application_Integration@\MyProject_PVOB.

## CCMkbl

### Description

Task to perform a "cleartool mkbl" command to ClearCase.

### Parameters

Attribute | Values | Required
--- | --- | ---
comment | Specify a comment. Only one of comment or cfile may be used. | No
commentfile | Specify a file containing a comment. Only one of comment or cfile may be used. | No
baselinerootname | Specify the name to be associated with the baseline. | Yes
nowarn | Suppress warning messages | No
identical | Allows the baseline to be created even if it is identical to the previous baseline. | No
full | Creates a full baseline. | No
nlabel | Allows the baseline to be created without a label. | No

### Examples

>     <ccmkbl
>         baselinerootname="Application_Baseline_AUTO"
>         identical="yes"
>         full="no"
>         viewpath="v:\ApplicationCC"
>         />

Does a ClearCase mkbl on the Integration view at v:\ApplicationCC even if it is identical to a previous baseline. The new baseline with be incremental and named "Application_Baseline_AUTO".

Copyright © 2000-2003 Apache Software Foundation. All rights reserved.