Configure Perforce repository

You should have Perforce client installed on the build machine. Contact http://www.perforce.com for licensing information. Here is the list of properties for this repository:

Perforce port

The Perforce port in the format of <port>, or <servername>:<port>, where <servername> and <port> will be replaced by the actual Perforce server name and the port number.

User name

User name to access the above Perforce server. This user should have the rights to create and edit client specifications and to checkout and label code.

Password

Password for the above user. Can be blank, if your Perforce server does not use password based security.

Client name

Optionally specify name of the client which will be created by QuickBuild to check out code for build. If not specified, this name will be generated by QuickBuild automatically.

[Warning]Warning

It is suggested that you leave this value empty here to let QuickBuild determines the client name based on current checkouts directory to avoid potential conflicts.

Perforce client options

Specifies options when create Perforce client. Valid options are: allwrite, clobber, compress, locked, modtime, rmdir. Different options should be separated by spaces.

Line end

Set line ending character(s) for client text files. The following values are possible:

local: use mode native to the client
unix: UNIX style
mac: Macintosh style
win: Windows style
share: writes UNIX style but reads UNIX, Mac or Windows style

This property is optional. If not specified, the value will default to "local".

Ignore existing label spec?

Specifies whether or not to ignore existing label spec when the label created by QuickBuild is already exist in Perfoce depot. If this value is set "yes", existing label spec will be discarded when apply new label spec; otherwise, new client spec will be appended to existing label spec.

[Note]Note

This property only takes effect when QuickBuild tries to create label on this repository (though the label step).

Lock label?

Specifies whether or not to check the lock option when create label in Perforce depot.

[Note]Note

This property only takes effect when QuickBuild tries to create label on this repository (through the label step).

Path to p4 executable

Specify path to your p4 executable file, for example: /usr/local/bin/p4. It should be specified here, if it does not exist in the system path.

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 you should configure in order to define a module.

Depot path

Specify the Perforce depot side path, such as //depot/testperforce/...

Label (or change number)

Specify the label or change number for the above depot path. When empty, the latest version (head) of the above depot path will be retrieved.

Client side path

Specify the client side path, such as /testperforce/...

[Note]Note

You should not put client name in this path. Before checkout, QuickBuild will automatically generate the proper client name before this path, to form a client path like //<generated client name>/testperforce/...

[Note]Note

To exclude files or directories, create a separate module for each exclusion and precede the Depot path property with a minus (-) sign, for example:

Depot path:  -//depot/module1/...
Client path: /module1/...

At lease one module should be configured for Perforce repository. QuickBuild will construct client specification from module information configured here, and checkout the code from Perforce repository accordingly. The user specified in Perforce connection information at the project level should have enough access rights to create and edit Perforce client specification.