VMS Help SCA, SCA Topics, Libraries, Project Libraries *Conan The Librarian (sorry for the slow response - running on an old VAX) |
There are many ways you can organize the SCA libraries for your project. Usually, there is one library (or set of libraries) for the whole project. Each developer has a personal library containing modules that they have changed but have not yet made available to the entire project. However, if there is only one developer working on the project, it makes more sense to use a single SCA library. There are many ways you can organize your project libraries. You can have one project SCA library if it is a reasonable size. You can use several libraries, one for each subsystem. You may want to organize your SCA libraries the way your development environment is organized. For example, have one SCA library for each CMS library. If your project is divided into different subsystems, you may want one SCA library for each subsystem. For information on creating your own SCA library, see the help topic Building_An_SCA_Library. Examples of Typical Libraries Consider a project with three developers: Paul, Mark, and Joanna. The project consists of five different subsystems. Each subsystem has its own SCA library in the following directories: DISK1:[PROJECT.SUBSYSTEM1.SCA] DISK1:[PROJECT.SUBSYSTEM2.SCA] DISK1:[PROJECT.SUBSYSTEM3.SCA] DISK2:[PROJECT.SUBSYSTEM4.SCA] DISK2:[PROJECT.SUBSYSTEM5.SCA] Each of the developers also has a personal SCA library as follows: DISK1:[PAUL.SCA] DISK2:[MARK.SCA] DISK1:[JOANNA.SCA] Paul uses the following command to set up his SCA libraries: LSE Command> SET LIBRARY disk1:[paul.sca], - _LSE Command> disk1:[project.subsystem1.sca], - _LSE Command> disk1:[project.subsystem2.sca], - _LSE Command> disk1:[project.subsystem3.sca], - _LSE Command> disk2:[project.subsystem4.sca], - _LSE Command> disk2:[project.subsystem5.sca] Mark and Joanna use the same command, but the first library in the list is their own SCA library. When Paul changes a module in Subsystem 1, he compiles it and loads it into his personal library in DISK1:[PAUL.SCA]. For Paul, this hides the old version of the module in DISK1:[PROJECT.SUBSYSTEM1.SCA], so his SCA library is up to date and consistent with his changes. Mark and Joanna do not see Paul's changes in their SCA libraries because they are not using the SCA library (DISK1:[PAUL.SCA]) that Paul updated. They still see the old version of the module in DISK1:[PROJECT.SUBSYSTEM1.SCA]. Once Paul has completed his change, the nightly build updates everything for Subsystem 1, replacing the module in DISK1:[PROJECT.SUBSYSTEM1.SCA]. Now Mark and Joanna can both see the change.
|