Rational ClearCase Source Control Block¶
Rational ClearCase source control block.
Version¶
Available from version 1.0
Examples¶
Minimalist example
1<sourcecontrol type="clearCase">
2 <viewPath>C:\PATH\TO\SOURCE</viewPath>
3 <autoGetSource>true</autoGetSource>
4</sourcecontrol>
Full example
1<sourcecontrol type="clearCase">
2 <viewPath>C:\PATH\TO\SOURCE</viewPath>
3 <branch>main</branch>
4 <autoGetSource>false</autoGetSource>
5 <useLabel>true</useLabel>
6 <useBaseline>false</useBaseline>
7 <projectVobName>PROJECT_VOB_NAME</projectVobName>
8 <viewName>PROJECT_VIEW_NAME</viewName>
9 <executable>cleartool.exe</executable>
10 <timeout>50000</timeout>
11</sourcecontrol>
Configuration Elements¶
Element | Description | Type | Required | Default | Version |
type | The type of source control block. | String - must be clearCase | Yes | n/a | 1.0 |
autoGetSource | Specifies whether the current version of the source should be retrieved from ClearCase. | Boolean | No | true | 1.0 |
branch | The name of the branch that CCNet will monitor for modifications. Note that the config spec of the view being built from must also be set up to reference this branch. | String | No | None | 1.0 |
dynamicValues | The dynamic values to use for the source control block. | Dynamic Values array | No | None | 1.5 |
executable | Specifies the path to the ClearCase command line tool. You should only have to include this element if the tool isn't in your path. By default, the ClearCase client installation puts cleartool in your path. | String | No | cleartool.exe | 1.0 |
issueUrlBuilder | Converts the comment (or parts from it) into an url pointing to the issue for this build. See IssueUrlBuilder for more details. | IssueUrlBuilder | No | None | 1.4 |
projectVobName | The name of the project VOB that the view path uses. This is required if useBaseline="true". |
String | No | None | 1.0 |
timeout | Sets the timeout period for the source control operation. See Timeout Configuration for details. | Timeout Configuration | No | 10 minutes | 1.0 |
useBaseline | Specifies whether a baseline should be applied when the build is successful. Requires the VOB your view references to be a UCM VOB. Requires that you specify viewName and projectVobName. |
Boolean | No | false | 1.0 |
useLabel | Specifies whether a label should be applied when the build is successful. | Boolean | No | true | 1.0 |
viewName | The name of the view that you're using. This is required if useBaseline="true". |
String | No | None | 1.0 |
viewPath | The path that CCNet will check for modifications and use to apply the label. Specifies a directory on your filesystem that CCNet monitors for changes. The path must be a versioned object. CCNet checks the actual VOB for changes, not the local filesystem. This doesn't have to be the root of the local ClearCase view. It may be any of the root's children or even a single object. |
String | No | None | 1.0 |
Notes¶
Common Problems¶
The build is initiated when users check in on private branches
By default, ClearCase returns a history for every file in every branch, even if the config spec limits to a single branch. You must specify <branch> in order to limit which changes CCNet can see.
After the build is successful I get a "Baseline not found" error message.
An example of this message is:
1 ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed:
2 cleartool: Error: Baseline not found: "CruiseControl.NETTemporaryBaseline_05-06-2004-16-34-15".
3
This happens when <projectVobName> is not set to the project VOB. Typically this happens when the user specifies the UCM VOB instead of the project VOB.
To correct the problem, change the value in that element to the name of the project VOB.
Known Bugs¶
When I view my baselines, I see that they're called CruiseControl.NET\[something\] instead of v1.0.0.4.
This is a bug in ClearCase; Rational is aware of it. It only occurs if you're using baselines.
CCNet creates a temporary baseline with the prefix CruiseControl.NET before renaming it to the final value, such as v1.5.2.3. Depending on how you view baselines in ClearCase, you may see the temporary or real name.
For example, if you use the admin console, you'll see the old, temporary value. If use use cleartool lsbl, you'll see the correct one:
1 M:\gsmith_GS_Project_int\GS_UCM_VOB>cleartool lsbl
2 06-May-04.16:28:27 v1.0.0.1 gsmith "CruiseControlTemporaryBaseline_05-06-200
3 4-16-28-26"
4 stream: GS_Project_Integration@\GS_PVOB
5 component: GS_UCM_VOB@\GS_PVOB
6 06-May-04.16:34:16 v1.0.0.2 gsmith "CruiseControl.NETTemporaryBaseline_05-06
7 -2004-16-34-15"
8 stream: GS_Project_Integration@\GS_PVOB
9 component: GS_UCM_VOB@\GS_PVOB
10
CruiseControl.NET sees checkins on all branches, not just the one specified in my config spec
This is due to the fact that the ClearCase history command (lshist) returns a complete history for the file, not just the history that can be seen by the config spec.
The workaround is to make sure you include a <branch> element in your configuration. This will force ccnet to just see changes on that branch.
CruiseControl.NET doesn't see my changes
Make sure the clock of your build server is synchronised to the clock of your ClearCase server.
Automatically Generated¶
Documentation generated on Monday, 26 May 2014 at 7:18:01 AM