Configure StarTeam repository

For Windows platform, you will need to have a full installation of StarTeam SDK runtime (which will install some runtime dlls and put them in the Windows system path). Normally this is the part of StarTeam client installation. Please go to http://www.borland.com for licensing information. Here is the list of properties for this adaptor:

Project location

Location of a StarTeam project is defined as: <servername>:<portnum>/<projectname>, where <servername> is the host where the StarTeam server runs, <portnum> is the port number the StarTeam server uses, default value is 49201. <projectname> is a StarTeam project under this StarTeam server.

User

User name to login to the StarTeam server.

Password

Password to login to the StarTeam server.

Convert EOL?

The following values are possible:

yes: all ASCII files will have their end-of-line characters adjusted to the EOL type of the local machine on checkout

no: the files will be checked out with whatever EOL characters are used on the server

This property is optional. If not specified, it will default to yes.

Time difference threshold

Specify time difference threshold (measured in seconds) between build server and StarTeam server. Time difference between build server and StarTeam server should not exceed this value. Otherwise, checkout may fail because you are trying to pull the code with future time from StarTeam server. However, you should not set a too large threshold in order to check out the latest code. In most cases, 10 seconds will be a good choice.

Use build label?

This property only take effect when a label step applies to this repository. If set to yes, a build view label will be created; otherwise, a non-build view label will be created.

Use frozen label?

This property only take effect when a label step applies to this repository. If set to yes, the created label will be frozen.

Checkout using stcmd?

Specifies whether or not to check out code using StarTeam command line tool (stcmd). If this value is set to no, Quickbuild will check out code using StarTeam SDK. Normally you should leave this value as no.

Path to stcmd executable

Path to StarTeam command line tool executable (stcmd). For example: C:\Program Files\Borland\StarTeam 6.0\stcmd.exe. It should be specified here, if it does not exist in the system path.

[Note]Note

this property only takes effect if the Checkout using stcmd option is set to yes.

Datetime format

Specify valid date time format for the -cfgd option of StarTeam checkout command. The default format is valid for US English locale. For other locales, the command /path/to/stcmd -co will print out list of valid date samples, from which you can drawn the proper date format based on format characters here.

[Note]Note

this property only takes effect if the Checkout using stcmd option is set to yes.

Extra stcmd options

Specify extra options when use stcmd to check out files from StarTeam server. For example you can specify -o to force checkout from StarTeam even if files have not been changed since last checkout.

[Note]Note

this property only takes effect if the Checkout using stcmd option is set to yes.

Revision log base build version

Specify version of the build since which the revision log will be retrieved. If left empty, revision log will not be retrieved.

Quiet period

Number of seconds the current repository should be quiet (without checkins) before QuickBuild decides to check out the code from this repository for a build. This is used to avoid checking out the code in the middle of some other checkins. This property is optional. When set as 0, quiet period will not be used before checking out the code to build.

Login mapping

Choose login mapping for this repository. Login mapping is used to map repository login to QuickBuild user. It can be configured at "login mappings" tab of the configuration.

Modules

Here is the list of properties should be configured in order to define a StarTeam module:

StarTeam view

Specify a StarTeam view. If it is left empty, the root view of the current StarTeam project will be used.

Source path

Specify a path relative to the root of the above StarTeam view. Enter / to specify the root.

Label

Specify the label for the above StarTeam view. When left empty, the latest version of specified view is assumed.

Destination path

Specify the directory relative to the checkout directory of the current configuration. Contents under the above source path will be retrieved to this directory. When left empty, retrieved code will be put into directory specified in source path, relative to the checkout directory.

StarTeam view stands for a StarTeam view, and Label stands for a label of this StarTeam view. If StarTeam view is left empty, the root StarTeam view will be used. Source path is a path relative to the root of the chosen StarTeam view. If Destination path is defined, the contents from StarTeam repository will be retrieved to the Destination path relative to configuration's checkout directory, otherwise the contents will be put to the Source path relative to the configuration's checkout directory.

[Warning]Warning

When defining modules, If you want QuickBuild to create new label after build, you should define only one module per StarTeam view. The reason is: when creating label, QuickBuild goes through each defined module and tries to create a view label inside the StarTeam view associated with that module. If more than one module is defined for a particular StarTeam view, QuickBuild will try to create the same view label more than once in that view, and causes an Label already exist exception. For example, let's assume we've defined two modules:

  • The first module

    StarTeam view

    development

    Source path

    componentA

    Label

    Destination path

  • The second module

    StarTeam view

    development

    Source path

    componentB

    Label

    Destination path

When QuickBuild tries to create a new label, say v2_0, it will go through these two modules, and it will try to create view label v2_0 for their associated StarTeam view respectively, which will cause the same view label being created twice in the development view, and it will cause an error. To avoid this, at StarTeam side, you can create another view, say componentB-development rooted at /componentB and set branch on change option. At QuickBuild side, you should change the definition of the second module to be:

StarTeam view

componentB-development

Source path

/

Label

Destination path

componentB

This way, view label v2_0 will be created in different branch view, which is allowed in StarTeam.