8.3. Building Complete Projects

Bulding a project with ComPact is as simple as bulding individual packages. The main differences are that dependencies are now relevant on package level, and that building of a projects involves the shipment of packages to a certain pool. So the most important thing you have to decide is whether you want to use the local, project, or global pool to build your project.

The ComPact project manager investigates the dependencies of all packages and builds up a package dependency graph. To build a project means to invoke the build operation on all packages that are included in the project that need to be built in the correct order, which is simply a topological sort of the dependency graph. After each package has been built successfully, it is shipped to one of the package pools.

The behaviour of the project manager for certain types of packages is defined in the PkgBase.DefaultData resource. This file defines the structure of different types of packages, as well as a set of actions that may be applied to these types of packages. The actions have got a symbolic name and their use by ComPact is standardized. See Section A.2 in Elego ComPact Manual Appendices for further details.

Figure 8-5. GUI Project Management Build Commands



Building, Cleaning, and Shipping .



Options for all Build Operations . Here is a list of the possible option choices for the build actions:

Be careful when using Ship, as it is really only useful if you want to propagate packages you have already built into a different pool. Usually, shipping is done implicitly during a build run.