VMS Help  —  SCA  SCA Topics, Libraries

1  –  Project Libraries

    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.

2  –  Virtual Libraries

    SCA can use more than one SCA library at the same time when doing
    queries using the FIND and INSPECT commands. The list of SCA
    libraries used for this is called a virtual library. The order
    of SCA libraries in the library list is important. A module in
    the first library in the library list will hide the same module
    in other libraries, further on in the library list. For example,
    suppose PROJECT_LIB has modules A, B, C and library MYLIB has
    modules A, and D. You can set the library as follows:

      LSE Command> SET LIBRARY mylib,project_lib

    The modules visible in the virtual library would be A (from
    MYLIB), B, and C (both from PROJECT_LIB) and D (from MYLIB).

    There are many reasons for using more than one physical library as
    your virtual library:

    o  Using more than one library, you can improve LOAD performance
       by loading multiple libraries simultaneously. See the help
       topic Reducing_LOAD_Time.

    o  You can use virtual libraries to allow several developers to
       maintain a consistent view of their changes to a project,
       without affecting the other developers, and without having
       to copy the entire SCA library for each developer.

    o  You can put your SCA libraries on different disks or on
       different nodes (using the SCA server). This improves
       performance or takes advantage of the available disk space.

    o  You use the SET LIBRARY and SET NOLIBRARY commands to maintain
       your virtual library list. You can use the /BEFORE and /AFTER
       qualifiers to insert and remove libraries without having to
       reenter a library list. You can specify libraries in your
       library list using library numbers. For example, the command
       SET NOLIBRARY 2 removes the second SCA library from the library
       list.
Close Help