Sharing working directories

In use case 3, every child configuration of "root.live-samples.usecase3" has its own working directory and holds its own copy of checked out codes from CVS. For a large project, this may consumes a lot of disk spaces. Is there any way to check out only one copy of codes for these three child configurations?

  1. By default, a newly created configuration will use ${name} as value of the working directory property. This means new configuration will create a sub directory under working directory of its parent configuration, and name of the sub directory will be the same to name of newly created configuration. So there will be three different working directories for nightly, test and release configuration. In order to use the same working directory for these three child configurations, the simplest way is to left their working directory property as empty. In this way, they will all use parent configuration's working directory. Of course, you can point them to other arbitrary directories, as long as they all refer to the same directory.

  2. Now nightly, test and release configurations have the same working directory, and there will be only one copy of codes checked out for build, which resides in <working directory>/checkouts.

    [Note]Note

    For configurations sharing the same working directory, only one can be executed at one time. If you trigger others while one configuration is already running, the newly triggered configuration will be put into queue, until the current one has finished its execution.

    [Note]Note

    If multiple configurations share the same working directory, and some of them are configured to incremental build, it is highly recommended that all these configurations check out the same set of source code, build with the same set of builders. Otherwise, increment builds may be incorrect for codes may be incremental updated based on different code base.