Commit dd281823 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

ASDF 1.591: fix obvious naming bugs in 1.590, plus some documentation/comments.

parent 957fe30d
......@@ -123,7 +123,7 @@ DIRECTORY-DESIGNATOR :=
(ABSOLUTE-COMPONENT-DESIGNATOR RELATIVE-COMPONENT-DESIGNATOR ...)
ABSOLUTE-COMPONENT-DESIGNATOR :=
STRING | ;; namestring (directory is assumed, better be absolute or bust, **/*.*.* added)
STRING | ;; namestring (directory is assumed, better be absolute or bust, ``/**/*.*`` added)
PATHNAME | ;; pathname (better be an absolute directory or bust)
:HOME | ;; designates the user-homedir-pathname ~/
:USER-CACHE | ;; designates the default location for the user cache
......@@ -132,7 +132,7 @@ ABSOLUTE-COMPONENT-DESIGNATOR :=
:CURRENT-DIRECTORY ;; the current directory
RELATIVE-COMPONENT-DESIGNATOR :=
STRING | ;; namestring, directory is assumed. If the last component, **/*.*.* is added
STRING | ;; namestring, directory is assumed. If the last component, ``/**/*.*`` is added
PATHNAME | ;; pathname unless last component, directory is assumed.
:IMPLEMENTATION | ;; a directory based on implementation, e.g. sbcl-1.0.32.30-linux-x86-64
:IMPLEMENTATION-TYPE | ;; a directory based on lisp-implementation-type only, e.g. sbcl
......@@ -143,24 +143,30 @@ RELATIVE-COMPONENT-DESIGNATOR :=
Relative components better be either relative
or subdirectories of the path before them, or bust.
You may use #+features to customize the configuration file.
The last component, if not a pathname, is notionally completed by ``/**/*.*``.
You can specify more fine-grained patterns by using a pathname object,
e.g. ``#p"some/path/**/foo*/bar-*.fasl"``
The second designator of a mapping may be NIL, indicating that files are not mapped
You may use ``#+features`` to customize the configuration file.
The second designator of a mapping may be ``NIL``, indicating that files are not mapped
to anything but themselves (same as if the second designator was the same as the first).
Include statements cause the search to recurse with the path specifications
``:include`` statements cause the search to recurse with the path specifications
from the file specified.
An :inherit-configuration statement cause the search to recurse with the path
An ``:inherit-configuration`` statement cause the search to recurse with the path
specifications from the next configuration
(see section Configurations_ above).
:enable-user-cache is the same as (:root :user-cache).
:disable-cache is the same as (:root :root).
:user-cache uses the contents of variable asdf::*output-translations-user-cache*
which by default is the same as using (:home ".cache" "common-lisp" :implementation).
:system-cache uses the contents of variable asdf::*output-translations-system-cache*
which by default is the same as the user-cache.
:enable-user-cache is the same as ``(:root :user-cache)``.
:disable-cache is the same as ``(:root :root)``.
:user-cache uses the contents of variable ``asdf::*user-cache*``
which by default is the same as using
``(:home ".cache" "common-lisp" :implementation)``.
:system-cache uses the contents of variable ``asdf::*system-cache*``
which by default is the same as using
``(:root "var" "cache" "common-lisp" :uid :implementation-type)``
Configuration Directories
......@@ -168,7 +174,7 @@ Configuration Directories
Configuration directories consist in files each contains
a list of directives without any enclosing ``(:asdf-output-translations ...)`` form.
The files will be sorted by namestring as if by #'string< and
The files will be sorted by namestring as if by ``#'string<`` and
the lists of directives of these files with be concatenated in order.
An implicit ``:inherit-configuration`` will be included
at the end of the list.
......@@ -260,23 +266,11 @@ The specified functions are exported from package ASDF.
If your application wants to override the provided defaults,
it will have to use the below function process-output-translations.
(process-output-translations X &key inherit collect)
If X is a CONS, parse it as a SEXP in the configuration DSL,
and extend or override inheritted configuration.
If X is a STRING, first parse it into a SEXP
as for the ASDF_OUTPUT_TRANSLATIONS
environment variable (see above) then process it.
If X is a PATHNAME, read the file as a single SEXP and process it.
The inheritted configuration is provided in keyword argument inherit,
itself a list of functions that take inherit
and collect keyword arguments
and defaulting to a list of functions
that implements the default behavior.
(translate-output-translations PATHNAME)
(apply-output-translations PATHNAME)
Applies the configured output location translations to PATHNAME
(calls ensure-output-translations for the translations).
Credits
=======
......@@ -287,3 +281,8 @@ All bad design ideas and implementation bugs are to mine, not theirs.
But so are good design ideas and elegant implementation tricks.
-- Francois-Rene Rideau <fare@tunes.org>
..
;;; Local Variables:
;;; mode: rst
;;; End:
;;; This is asdf: Another System Definition Facility.
;;;
;;; Local Variables:
;;; mode: lisp
;;; End:
;;;
;;; Feedback, bug reports, and patches are all welcome: please mail to
;;; <asdf-devel@common-lisp.net>. But note first that the canonical
;;; source for asdf is presently on common-lisp.net at
;;; <URL:http://common-lisp.net/project/asdf/>
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
;;; Note first that the canonical source for asdf is presently
;;; <URL:http://common-lisp.net/project/asdf/>.
;;;
;;; If you obtained this copy from anywhere else, and you experience
;;; trouble using it, or find bugs, you may want to check at the
......@@ -169,7 +165,7 @@
;;;;
(defparameter *asdf-version*
;; the 1+ hair is to ensure that we don't do an inadvertent find and replace
(subseq "VERSION:1.590" (1+ (length "VERSION"))))
(subseq "VERSION:1.591" (1+ (length "VERSION"))))
(defun asdf-version ()
*asdf-version*)
......@@ -2435,13 +2431,13 @@ with a different configuration, so the configuration would be re-read then."
(defparameter *source-registry-file* #p"common-lisp/source-registry.conf")
(defparameter *source-registry-directory* #p"common-lisp/source-registry.conf.d/")
(defun user-source-registry-pathname ()
(defun user-source-registry ()
(merge-pathnames *source-registry-file* (user-configuration-directory)))
(defun system-source-registry-pathname ()
(defun system-source-registry ()
(merge-pathnames *source-registry-file* (system-configuration-directory)))
(defun user-source-registry-directory-pathname ()
(defun user-source-registry-directory ()
(merge-pathnames *source-registry-directory* (user-configuration-directory)))
(defun system-source-registry-directory-pathname ()
(defun system-source-registry-directory ()
(merge-pathnames *source-registry-directory* (system-configuration-directory)))
(defun environment-source-registry ()
(getenv "CL_SOURCE_REGISTRY"))
......@@ -2588,4 +2584,6 @@ with a different configuration, so the configuration would be re-read then."
(provide :asdf)
;;;; The End.
;;; Local Variables:
;;; mode: lisp
;;; End:
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment