define-moduleModule Manager Facilitydefine-root-directorydefine-relative-directoryGoTo Top

define-relative-directory   name directory &rest subdirectories[Function]

Purpose
Defines a directory relative to a root or relative directory or to the directory specification of a module definition.

Package   :module-manager

Module   :module-manager

Arguments and values

name     A keyword symbol naming the relative directory
directory     The keyword symbol name of a root or relative directory or the name of a module
subdirectories     One or more strings specifying, in order, subdirectories from directory to the relative directory. (The keyword :up or :back can also be supplied in addition to any of these strings, indicating to go upward one semantic or syntactic level of directory structure, respectively.)

Description
Root and relative directory definitions are used to isolate file-system details from module definitions. A relative directory is defined in relation to another directory definition, that is either a root directory or another relative directory (which itself is eventually associated with a root directory). If this root directory location changes, every relative directory associated with it is adjusted automatically.

See also
    define-root-directory
    get-directory
    show-defined-directories
    with-system-name

Examples
Define a relative directory below :my-app-root named :my-tests:

  (define-relative-directory :my-tests :my-app-root "tests")
Define another relative directory named :my-performance-tests below :my-tests:
  (define-relative-directory :my-performance-tests :my-tests "performance") 
Define a data directory sibling to the source directory of :my-app module:
  (define-relative-directory :app-data :my-app :up "data") 


The GBBopen Project


define-moduleModule Manager Facilitydefine-root-directorydefine-relative-directoryGoTo Top