Using Subprojects
Subprojects are created, added, moved, or dropped through the Apply CP command as a result of subproject operations included in a change package. Subproject operations are applied with the following restrictions:
• Add subproject operations are ignored if the subproject already exists in the target project and is configured the same way as is specified in the change package.
• You cannot apply configure subproject operations or operations that result in a reconfiguration of a subproject, for example, adding a subproject that already exists on a different development path.
• Move subproject operations are ignored if the subproject already exists in the target location.
• Drop subproject operations are ignored if the subproject does not exist in the target location.
If you cannot include all change packages with subproject operations in the Apply CP command, you have the option of applying subproject operations that are implied by member operations included in a change package. This is known as implicitly propagating subprojects, and is controlled by an option of the Apply CP command. Using implicit subproject propagation enables you to propagate subproject changes without needing to actually apply the change packages containing those subproject operations.
|
• Earlier versions of Integrity Lifecycle Manager (formerly Source Integrity or MKS Source) always used implicit propagation of subproject operations.
• Using implicit subproject propagation can result in unsatisfactory results. For example, if a change package used to create a subproject was also used to add a member to the subproject, and you do not include this change package, you will get an incomplete subproject.
|
How Subproject Changes Are Applied Implicitly
If a member operation implies the creation or addition of a subproject, Integrity Lifecycle Manager tries to re-create the source environment’s project tree in the target environment. If part of the source environment’s tree has been dropped, Integrity Lifecycle Manager attempts to re-create it based on the nearest appropriate subproject.
A subproject is added only if it is located under the project location for the target project environment and is configured the same way as the parent project. When added to a variant, the subproject is added as a variant subproject on the same development path as the parent project it is being added to. Apply CP does not detect or add any missing shared subprojects, even if they are present in the source project.
|
When applying a change package that adds a build or shared build subproject, the subproject is added to the target location without creating a new development path.
|
The creation or addition of subprojects takes place early in the Apply CP process. If you decide to cancel the operation when you are asked to confirm the changes to be applied, the subproject changes remain in the target environment.