 

1  VDE
   The OpenVMS Development Environment (VDE) Utility is a tool that
   software developers can use to manage software development. VDE
   uses a relational database to store development information about
   your software system and to manage multiple instances of that
   system. VDE also manages the disk directories, CMS libraries, and
   files that comprise your software system. In managing a software
   system, VDE can perform the following functions:

   o  Store and retrieve information about the modules, facilities
      (groups of modules), module generations, development streams,
      and other entities that make up your software system.

   o  Reserve source modules from the VDE library and replace them
      after they have been modified. Modules can be reserved from
      and replaced into multiple development streams and changes can
      be automatically propagated between streams.

   o  Build the software system. VDE can perform both full and
      minimal system builds. In a full build, all modules in the
      software system are compiled, linked, or otherwise processed.
      In a minimal system build, only those modules that have been
      changed since the last system build are compiled, linked, or
      processed.

   o  Collect and report software development statistics.

   VDE includes extensive built-in HELP. At the VDE>, type "HELP".
   An extensive documentation set, in Bookreader and Postscript
   formats, is also available.

   Format

     VDE  [vde-command [; vde-command...]]
 

2  Parameter
 

vde-command

   A VDE command to be performed. Various available VDE commands
   are described in the on-line help; to access the on-line help,
   enter the command "HELP" at the VDE> VDE prompt. You can specify
   multiple VDE commands if you separate them by semicolons (;).

   This parameter is optional; it you omit it, VDE prompts you for
   commands.
 

2  Description
   The VDE command invokes the VDE utility and allows you to enter
   VDE subcommands. Specifying the VDE command with specific
   qualifiers enables you to modify the VDE environment or invoke
   separate programs that are part of the VDE system.

   To invoke the VDE utility, enter the VDE command at the DCL
   prompt ($).  The system responds with the prompt for the VDE
   utility (VDE>).  For example:

   $ VDE
   VDE>

   At the VDE> prompt, you can enter VDE subcommands to perform VDE
   functions. For simplicity, these subcommands are referred to as
   "VDE commands" in the rest of this description. To exit from VDE,
   enter the EXIT command or press CTRL/Z.

   The following example shows how to enter VDE commands from within
   the utility:

   $ VDE
   VDE> SHOW LIBRARY
   Main library LIBNAME in root directory DEV$:[PROJDIR]
   VDE> EXIT
   $

   You can also enter VDE commands directly on the VDE command line.
   In this case, VDE does not prompt you for commands. The following
   example shows how to enter a VDE command from the DCL command
   line:

   $ VDE SHOW LIBRARY
   Main library LIBNAME in root directory DEV$:[PROJDIR]
   $

   You can also enter the following commands from the DCL command
   line (either interactively or from within a coded file called a
   "VDE script") to invoke separate programs that are part of the
   VDE system:

   o  VDE/DEPEND

   o  VDE/READ_UAF

   o  VDE/WHEREIS

   All of these commands are described in the VDE reference manual.
   The VDE/WHEREIS command is also described in online HELP under
   the /WHEREIS qualifier.

   To use VDE, you must specify the VDE library that you want to
   use. The VDE library for a software system consists of a root
   directory, a VDE database residing in that root directory, and a
   directory tree that contains all CMS libraries, source files, and
   other files that make up your software system. You specify the
   VDE library you want to use by giving the directory specification
   for the library root directory. The root directory contains
   the database and the database contains pointers to all other
   directories that make up the library.

   Unless you are creating a new VDE library, you can specify the
   library using any of three methods. First, you can define a
   logical name VDE$LIBRARY to give the library's root directory.
   If you use the same VDE library most of the time, you should
   define VDE$LIBRARY in your login file. Second, you can use the
   /LIBRARY qualifier to the VDE command to specify the library
   mnemonic or root directory. And third, you can use the VDE SET
   LIBRARY command to specify the mnemonic or root directory. You
   must use one of these three methods to specify the VDE library.
 

2  Qualifiers
 

/INTERFACE

      /INTERFACE=keyword

   The /INTERFACE qualifier allows the user to select a keyword
   representing the prefered user interface presented by VDE. With
   the VDE/INTERFACE=DECWINDOWS keyword, the Motif graphical user
   interface is used. With the VDE/INTERFACE=CHARACTER_CELL keyword,
   the traditional command interface is used.
 

/KEPT_PROCESS

      /KEPT_PROCESS
      /NOKEPT_PROCESS (default)

   Specifies whether VDE runs with or without creating a kept
   process. /KEPT_PROCESS specifies that the VDE utility should
   run in a kept subprocess that is retained from one invocation
   of the VDE command to the next. Use of a kept subprocess allows
   VDE to connect to the VDE database once for many invocations
   of VDE, thus speeding up subsequent accesses to the database.
   It also allows VDE to retain state information, such as the
   default stream and facility, between invocations. /NOKEPT_PROCESS
   specifies that VDE not run in a kept subprocess.

   Do not attempt to use the DCL ATTACH command to attach to a VDE
   or VSC kept process.
 

/LIBRARY

      /LIBRARY=directory-spec

   Specifies the mnemonic name or root directory of the VDE library
   with which you want to work. Subsequent VDE operations will
   access the database associated with that library.
 

2  Examples

   1.$ DEFINE VDE$LIBRARY DEV$:[PROJDIR]

     $ VDE
     VDE> SHOW LIBRARY
     Main library LIBNAME in root directory DEV$:[PROJDIR]
     VDE> SHOW STREAM V2.1-1
     Stream V2.1-1          "First update to version 2.1"
     VDE> HELP
     ...help text displayed...
     VDE> EXIT
     $

     This example defines logical name VDE$LIBRARY to specify the
     root directory of the VDE library you want to work with. This
     directory contains the VDE database for the library. The VDE
     command entered from DCL then gives the VDE> prompt. You can
     now enter VDE commands, in this case the SHOW LIBRARY and SHOW
     STREAM commands. The EXIT command ends the VDE session and
     returns you to the DCL prompt ($).

   2.$ VDE SHOW LIBRARY; SHOW STREAM V2.1-1
     Main library LIBNAME in root directory DEV$:[PROJDIR]
     Stream V2.1-1          "First update to version 2.1"
     $

     This example shows two VDE commands entered directly on the
     DCL-level VDE command line. Both commands are executed, after
     which VDE exits and returns you to the DCL prompt ($).  In this
     case, VDE does not prompt for commands. The example assumes
     that logical name VDE$LIBRARY has already been defined, perhaps
     in the user's login file.

   3.$ VDE/LIBRARY=DEV$:[ROOTDIR]
     VDE> SHOW LIBRARY
     Library LIBNAME in root directory DEV$:[ROOTDIR]
     VDE> EXIT
     $

     In this example, the /LIBRARY qualifier specifies that the
     root directory for the VDE library is DEV$:[ROOTDIR]. Entering
     the SHOW LIBRARY command at the VDE prompt confirms that this
     library has been set.

   4.$ VDE
     VDE> SET LIBRARY DEV$:[ROOTDIR]
     VDE> SHOW LIBRARY
     Library LIBNAME in root directory DEV$:[ROOTDIR]
     VDE> EXIT
     $

     This example uses the SET LIBRARY command to specify the root
     directory of the VDE library to use. The SHOW LIBRARY command
     confirms that this library has been set.
 

2  /WHEREIS
   Invokes a utility that retrieves site-specific configuration
   information from VDE.

   No direct access nor direct retrieval of any underlying
   configuration information should be performed, nor should the
   underlying VDE$LIBRARY_* logical names be translated directly by
   command procedures, nor should software depend on the continued
   accessability of the underlying information.

   Format

     VDE/WHEREIS
 

3  Description
   The VDE/WHEREIS command invokes a separate utility that retrieves
   site-specific configuration information associated with a
   VDE library. The command returns such information as the VDE
   mnemonic name and location of the Rdb database and CMS libraries
   associated with the VDE library. VDE/WHEREIS can be used from
   the command line or within DCL scripts to facilitate library
   management operations independent of specific configuration
   information.

   VDE/WHEREIS returns configuration information via a set of
   VDE$WHEREIS_info-item local symbols or process logical names.
   Whether symbols or logical names are used is controlled by the
   /RETURN qualifier. The local symbols/process logicals currently
   defined by VDE/WHEREIS are described below:

                   VDE$WHEREIS Symbols/Logical Names

   VDE$WHEREIS_MNEMONIC
         VDE shorthand name associated with a database
   VDE$WHEREIS_BACKUPS_CURRENT
         Location of the latest Rdb database backups
   VDE$WHEREIS_BACKUPS_ARCHIVE
         Location of the archival Rdb database backups
   VDE$WHEREIS_BACKUPS_AFTER_IMAGE
         Location of the Rdb database after-image journals
   VDE$WHEREIS_CMS
         Root specification of the CMS libraries associated with a
         database
   VDE$WHEREIS_DATABASE
         Location (root) of the Rdb database file
   VDE$WHEREIS_LABEL
         VDE text label (remark string) associated with a database
   VDE$WHEREIS_BACKUP_INCR
         File name of current Rdb database incremental backup
         saveset
   VDE$WHEREIS_BACKUP_FULL
         File name of current Rdb database full backup saveset
   VDE$WHEREIS_STATISTICS
         Specification of the VDE statistics database file
   VDE$WHEREIS_STAGING
         Location (root) where VDE stages library changes
   VDE$WHEREIS_BUILD
         For future use/not fully implemented

   When invoking VDE/WHEREIS, you must specify a VDE library, either
   via the /LIBRARY qualifier with a library mnemonic or root, or
   via the /INDEX qualifier with the library index.
 

3  Qualifiers
 

/INDEX

      /INDEX=library-index
      /LIBRARY=library-spec

   The /INDEX and /LIBRARY qualifiers to VDE/WHEREIS are used
   to identify a VDE library for which the utility should return
   configuration information.

   The /INDEX qualifier is used to identify a library by index,
   or by the offset into the list of all available VDE libraries
   present on the system. The first library in the list has an
   index of 0. This qualifier can be used to obtain configuration
   information for all VDE libraries on a given system, by starting
   with index 0 and incrementing the index until VDE/WHEREIS
   completes with a failure status.

   The /LIBRARY qualifier to VDE/WHEREIS is used to identify a VDE
   library via either the shorthand mnemonic name or the database
   root directory, just as with the standard VDE command.

   The /INDEX and /LIBRARY qualifiers are mutually exclusive. If
   both are specifed, the /INDEX qualifier is used. One of either
   /INDEX or /LIBRARY is required with the VDE/WHEREIS command.
 

/LOG

Controls whether informational messages are printed to display the
requested library information as it is retrieved. By default, no
messages are printed.
 

/RETURN

      /RETURN=keyword

   The /RETURN qualifier is used to specify the method in which
   site-specific library information should be returned to the
   caller. The qualifier accepts the following two keyword
   parameters:

   o  SYMBOLS - the requested information is returned via the local
      symbols VDE$WHEREIS_info-item. This is the default behavior.

   o  LOGICAL_NAMES - the requested information is returned via the
      process logical names VDE$WHEREIS_info-item.

   If no /RETURN qualifier is specified with the VDE/WHEREIS
   command, /RETURN=SYMBOLS is assumed.
 

3  Examples

   1.$ VDE/WHEREIS /LIBRARY=PROD$LIB /RETURN=LOGICAL_NAMES

     $ DIRECTORY/DATE/SINCE=10-OCT-1996 VDE$WHEREIS_CMS:[*.CMS.CMS$000]

     Directory VMS$:[PROD$SHR.CMS.CMS$000]

     PROD$SHR.OPT;29      10-OCT-1996 16:45:01.74
     PRODDEF.H;15         15-OCT-1996 15:12:01.21
     PRODIO.C;24          14-OCT-1996 22:39:24.73
     PRODUTIL.C;5         16-OCT-1996 16:31:00.79
        .
        .
        .

     This example shows how VDE/WHEREIS can be used to retrieve
     information about a VDE library's CMS-level source files,
     without necessarily knowing the location of the CMS library.

   2.

       $ vde_lib_index = F$EDIT(p1,"UPCASE,TRIM")
       $ VDE/WHEREIS /INDEX='vde_lib_index' /RETURN=SYMBOLS
       $ IF .NOT. $STATUS THEN GOTO BCKLIB$Abort
       $ DEFINE/PROCESS BCKLIB$DB_SOURCE   'vde$whereis_database'
       $ DEFINE/PROCESS BCKLIB$BACKUP_AREA 'vde$whereis_backups_current'
       $ WRITE SYS$OUTPUT " Performing full database backup for:"
       $ WRITE SYS$OUTPUT "    ''vde$whereis_mnemonic' library .."
       $ RMU /BACKUP /LOG /ONLINE BCKLIB$DB_SOURCE:VDE$DATABASE.RDB -
            MLIB$BACKUP_AREA:'vde$whereis_backup_full'.RBF

     This example shows how VDE/WHEREIS can be used within a DCL
     command procedure to perform a full backup of the Rdb database
     associated with a VDE library, independent of the specific
     library or the database location.

   3.$ VDE/WHEREIS /LIBRARY=EVMS /LOG

     VDE Ancillary Support for OpenVMS Alpha Version V1.5-0
     %VDE-I-WHEREIS, component VDE$WHEREIS_MNEMONIC is EVMS
     %VDE-I-WHEREIS, component VDE$WHEREIS_BACKUPS_CURRENT is DISK$VDERDBBKP:[VDE.MASTERPACK_BACKUPS.CURRENT]
     %VDE-I-WHEREIS, component VDE$WHEREIS_BACKUPS_ARCHIVE is DISK$VDERDBBKP:[VDE.MASTERPACK_BACKUPS.OLD]
     %VDE-I-WHEREIS, component VDE$WHEREIS_BACKUPS_AFTER_IMAGE is DISK$VDERDBBKP:[VDE.MASTERPACK_BACKUPS.DB_JOURNAL]
     %VDE-I-WHEREIS, component VDE$WHEREIS_CMS is VMS$
     %VDE-I-WHEREIS, component VDE$WHEREIS_DATABASE is DISK$VDEROOT:[VDE.VMS.DBROOT]
     %VDE-I-WHEREIS, component VDE$WHEREIS_LABEL is OpenVMS Alpha Base Operating System
     %VDE-I-WHEREIS, component VDE$WHEREIS_BACKUP_INCR is VDE$DATABASE$EVMS_BCKP_INCR
     %VDE-I-WHEREIS, component VDE$WHEREIS_BACKUP_FULL is VDE$DATABASE$EVMS_BCKP_FULL
     %VDE-I-WHEREIS, component VDE$WHEREIS_STATISTICS is DISK$VDERDBBKP:[VDE.CHECKIN_STATISTICS]STATISTICS_DATABASE_V10.DAT
     %VDE-I-WHEREIS, component VDE$WHEREIS_STAGING is DISK$VDESTAGE:[VDE.VMS.VDE$STAGING]

     This example shows how the /LOG qualifier to the VDE/WHEREIS
     command can be used to display current site-specific library
     information.
