Modifying the build process for multi-phased builds

The modified build process for external projects is a multi-phase build.

About this task

Project hierarchies with external projects cannot be updated right away because the new products might not exist until the hierarchy is partially built. (If the products are in a non-writable state before the build, new versions are checked out. The new versions must be selected into the external project after the build is complete.) Portions of the hierarchy are updated and built in phases.

To prevent selecting new tasks, clear auto-update on the project grouping after the first update. Then, set auto-update in the middle of the multi-phase build on the project grouping after the last update.

Procedure

  1. Refresh and freeze your project grouping.
    1. Update the query folder by refreshing the project grouping.

      Right-click over the project grouping and point to Update, then select Baseline & Tasks.

    2. Disable auto-update for the project grouping.

      Right-click over the project grouping and clear Automatically Update Baseline & Tasks.

  2. Update all low-level projects (such as library projects) whose products are used in external projects.
  3. Show and resolve conflicts.
  4. Build all products to be used in external projects (that is, all the projects updated in step 2).
  5. Update all projects not updated in step 2, including external projects.

    Exclude any installation projects you are building. You can update them later in Modifying the build process for installation projects.

    Note: This update selects all the products built in step 4 and adds them in the external projects.
  6. Show and resolve conflicts.
  7. Build all remaining products (that is, the projects updated in step 5).
  8. Prepare an installation area or a CD.
  9. Test the software.
  10. Create a baseline to check in products and external projects.
  11. After the last update, right-click over the project grouping and set Automatically Update Baseline & Tasks.

    First the low-level projects, such as libraries, are updated and built. Next the external projects and the high-level projects that use them, such as executables, are updated, then the high-level projects can be built.


Feedback