finish-patchModule Manager Facilityget-patch-descriptionget-directoryGoTo Top

get-directory   name &rest subdirectories => pathname[Function]

Purpose
Return the pathname based on a root directory, a relative directory, or a module.

Package   :module-manager

Module   :module-manager

Arguments and values

name     A keyword symbol naming a root directory, a relative directory, or a module.
subdirectories     One or more strings specifying, in order, subdirectories to be appended to the root directory, relative directory, or module 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.)
pathname     A pathname

Returns
The pathname.

Errors
A relative directory specification contains a circularity.

Description
Root and relative-directory definitions are searched first. If no name directory definition is found, module definitions are searched. Root directories specify a fixed anchor directory for a tree of relative directory definitions. The pathname returned for relative directories is based on the source pathname.

See also
    define-relative-directory
    define-root-directory
    get-root-directory
    show-defined-directories

Examples
Return the pathname of the :my-app-root root directory:

  > (get-directory :my-app-root)
  #P"~/my-app/"
  >
Return the pathname of the :gbbopen-tools relative directory:
  > (get-directory :gbbopen-tools)
  #P"<install-dir>/source/tools/"
  >
Return this same pathname, this time computed from the :gbbopen-root root directory:
  > (get-directory :gbbopen-root "tools")
  #P"<install-dir>/source/tools/" 
  >
Return the pathname of the :gbbopen-user module:
  > (get-directory :gbbopen-user)
  #P"<install-dir>/source/gbbopen/"
  >


The GBBopen Project


finish-patchModule Manager Facilityget-patch-descriptionget-directoryGoTo Top