From aba5f454439ef0bd28feb9b60547cf75f4df590b Mon Sep 17 00:00:00 2001 From: Raymond Toy <toy.raymond@gmail.com> Date: Sat, 7 Oct 2017 09:00:19 -0700 Subject: [PATCH] Update to ASDF version 3.3.0 --- src/contrib/asdf/asdf.lisp | 3276 ++++++++++++++++++-------------- src/contrib/asdf/doc/asdf.html | 171 +- src/contrib/asdf/doc/asdf.info | 468 +++-- src/contrib/asdf/doc/asdf.pdf | Bin 507403 -> 512069 bytes 4 files changed, 2284 insertions(+), 1631 deletions(-) diff --git a/src/contrib/asdf/asdf.lisp b/src/contrib/asdf/asdf.lisp index 855bd301d..12f742eb0 100644 --- a/src/contrib/asdf/asdf.lisp +++ b/src/contrib/asdf/asdf.lisp @@ -1,5 +1,5 @@ ;;; -*- mode: Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; buffer-read-only: t; -*- -;;; This is ASDF 3.2.1: Another System Definition Facility. +;;; This is ASDF 3.3.0: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to <asdf-devel@common-lisp.net>. @@ -1087,8 +1087,9 @@ to supersede any previous definition." (with-upgradability () (defvar *uiop-debug-utility* '(or (ignore-errors - (symbol-call :asdf :system-relative-pathname :uiop "contrib/debug.lisp")) - (symbol-call :uiop/pathname :subpathname (user-homedir-pathname) "common-lisp/asdf/uiop/contrib/debug.lisp")) + (probe-file (symbol-call :asdf :system-relative-pathname :uiop "contrib/debug.lisp"))) + (probe-file (symbol-call :uiop/pathname :subpathname + (user-homedir-pathname) "common-lisp/asdf/uiop/contrib/debug.lisp"))) "form that evaluates to the pathname to your favorite debugging utilities") (defmacro uiop-debug (&rest keys) @@ -1108,7 +1109,7 @@ to supersede any previous definition." ;;; Flow control (with-upgradability () (defmacro nest (&rest things) - "Macro to do keep code nesting and indentation under control." ;; Thanks to mbaringer + "Macro to keep code nesting and indentation under control." ;; Thanks to mbaringer (reduce #'(lambda (outer inner) `(,@outer ,inner)) things :from-end t)) @@ -1379,26 +1380,26 @@ If optional ERROR argument is NIL, return NIL instead of an error when the symbo (string (standard-case-symbol-name package-designator))) error))) -;;; stamps: a REAL or a boolean where NIL=-infinity, T=+infinity +;;; stamps: a REAL or a boolean where T=-infinity, NIL=+infinity (eval-when (#-lispworks :compile-toplevel :load-toplevel :execute) (deftype stamp () '(or real boolean))) (with-upgradability () (defun stamp< (x y) (etypecase x - (null (and y t)) - ((eql t) nil) + ((eql t) (not (eql y t))) (real (etypecase y - (null nil) - ((eql t) t) - (real (< x y)))))) + ((eql t) nil) + (real (< x y)) + (null t))) + (null nil))) (defun stamps< (list) (loop :for y :in list :for x = nil :then y :always (stamp< x y))) (defun stamp*< (&rest list) (stamps< list)) (defun stamp<= (x y) (not (stamp< y x))) (defun earlier-stamp (x y) (if (stamp< x y) x y)) - (defun stamps-earliest (list) (reduce 'earlier-stamp list :initial-value t)) + (defun stamps-earliest (list) (reduce 'earlier-stamp list :initial-value nil)) (defun earliest-stamp (&rest list) (stamps-earliest list)) (defun later-stamp (x y) (if (stamp< x y) y x)) - (defun stamps-latest (list) (reduce 'later-stamp list :initial-value nil)) + (defun stamps-latest (list) (reduce 'later-stamp list :initial-value t)) (defun latest-stamp (&rest list) (stamps-latest list)) (define-modify-macro latest-stamp-f (&rest stamps) latest-stamp)) @@ -1668,7 +1669,7 @@ message, that takes the functionality as its first argument (that can be skipped (in-package :uiop/version) (with-upgradability () - (defparameter *uiop-version* "3.2.1") + (defparameter *uiop-version* "3.3.0") (defun unparse-version (version-list) "From a parsed version (a list of natural numbers), compute the version string" @@ -2092,7 +2093,6 @@ suitable for use as a directory name to segregate Lisp FASLs, C dynamic librarie (with-upgradability () (defun hostname () "return the hostname of the current host" - ;; Note: untested on RMCL #+(or abcl clasp clozure cmucl ecl genera lispworks mcl mkcl sbcl scl xcl) (machine-instance) #+cormanlisp "localhost" ;; is there a better way? Does it matter? #+allegro (symbol-call :excl.osi :gethostname) @@ -4420,8 +4420,9 @@ when the image is restarted, but before the entry point is called.") before the image dump hooks are called and before the image is dumped.") (defvar *image-dump-hook* nil - "Functions to call (in order) when before an image is dumped") + "Functions to call (in order) when before an image is dumped")) +(eval-when (#-lispworks :compile-toplevel :load-toplevel :execute) (deftype fatal-condition () `(and serious-condition #+clozure (not ccl:process-reset)))) @@ -4835,8 +4836,7 @@ or COMPRESSION on SBCL, and APPLICATION-TYPE on SBCL/Windows." #+(or clasp ecl) :lisp-files #+mkcl :lisp-object-files (append lisp-object-files #+(or clasp ecl) extra-object-files) #+ecl :init-name - #+ecl (c::compute-init-name (or output-name destination) - :kind (if (eq kind :fasb) :fasl kind)) + #+ecl (getf build-args :init-name) (append (when prologue-code `(:prologue-code ,prologue-code)) (when epilogue-code `(:epilogue-code ,epilogue-code)) @@ -5349,7 +5349,8 @@ possibly in a different process." :element-type *default-stream-element-type* :external-format *utf-8-external-format*) (with-safe-io-syntax () - (write (reify-deferred-warnings) :stream s :pretty t :readably t) + (let ((*read-eval* t)) + (write (reify-deferred-warnings) :stream s :pretty t :readably t)) (terpri s)))) (defun warnings-file-type (&optional implementation-type) @@ -5397,7 +5398,10 @@ re-intern and raise any warnings that are still meaningful." (reset-deferred-warnings) (dolist (file files) (unreify-deferred-warnings - (handler-case (safe-read-file-form file) + (handler-case + (with-safe-io-syntax () + (let ((*read-eval* t)) + (read-file-form file))) (error (c) ;;(delete-file-if-exists file) ;; deleting forces rebuild but prevents debugging (push c file-errors) @@ -5824,13 +5828,31 @@ argument to pass to the internal RUN-PROGRAM" (defun %signal-to-exit-code (signum) (+ 128 signum)) + (defun %code-to-status (exit-code signal-code) + (cond ((null exit-code) :running) + ((null signal-code) (values :exited exit-code)) + (t (values :signaled signal-code)))) + #+mkcl (defun %mkcl-signal-to-number (signal) (require :mk-unix) (symbol-value (find-symbol signal :mk-unix))) (defclass process-info () - ((process :initform nil) + (;; The process field is highly platform-, implementation-, and + ;; even version-dependent. + ;; Prior to LispWorks 7, the only information that + ;; `sys:run-shell-command` with `:wait nil` was certain to return + ;; is a PID (e.g. when all streams are nil), hence we stored it + ;; and used `sys:pid-exit-status` to obtain an exit status + ;; later. That is still what we do. + ;; From LispWorks 7 on, if `sys:run-shell-command` does not + ;; return a proper stream, we are instead given a dummy stream. + ;; We can thus always store a stream and use + ;; `sys:pipe-exit-status` to obtain an exit status later. + ;; The advantage of dealing with streams instead of PID is the + ;; availability of functions like `sys:pipe-kill-process`. + (process :initform nil) (input-stream :initform nil) (output-stream :initform nil) (bidir-stream :initform nil) @@ -5901,40 +5923,51 @@ argument to pass to the internal RUN-PROGRAM" (if-let (process (slot-value process-info 'process)) (multiple-value-bind (status code) (progn - #+allegro (multiple-value-bind (exit-code pid signal) + #+allegro (multiple-value-bind (exit-code pid signal-code) (sys:reap-os-subprocess :pid process :wait nil) (assert pid) - (cond ((null exit-code) :running) - ((null signal) (values :exited exit-code)) - (t (values :signaled signal)))) + (%code-to-status exit-code signal-code)) #+clozure (ccl:external-process-status process) #+(or cmucl scl) (let ((status (ext:process-status process))) - (values status (if (member status '(:exited :signaled)) - (ext:process-exit-code process)))) + (if (member status '(:exited :signaled)) + ;; Calling ext:process-exit-code on + ;; processes that are still alive + ;; yields an undefined result + (values status (ext:process-exit-code process)) + status)) #+ecl (ext:external-process-status process) #+lispworks ;; a signal is only returned on LispWorks 7+ - (multiple-value-bind (exit-code signal) - (funcall #+lispworks7+ #'sys:pipe-exit-status - #-lispworks7+ #'sys:pid-exit-status - process :wait nil) - (cond ((null exit-code) :running) - ((null signal) (values :exited exit-code)) - (t (values :signaled signal)))) - #+mkcl (let ((status (mk-ext:process-status process)) - (code (mk-ext:process-exit-code process))) - (if (stringp code) - (values :signaled (%mkcl-signal-to-number code)) - (values status code))) + (multiple-value-bind (exit-code signal-code) + (symbol-call :sys + #+lispworks7+ :pipe-exit-status + #-lispworks7+ :pid-exit-status + process :wait nil) + (%code-to-status exit-code signal-code)) + #+mkcl (let ((status (mk-ext:process-status process))) + (if (eq status :exited) + ;; Only call mk-ext:process-exit-code when + ;; necessary since it leads to another waitpid() + (let ((code (mk-ext:process-exit-code process))) + (if (stringp code) + (values :signaled (%mkcl-signal-to-number code)) + (values :exited code))) + status)) #+sbcl (let ((status (sb-ext:process-status process))) - (values status (if (member status '(:exited :signaled)) - (sb-ext:process-exit-code process))))) + (if (eq status :running) + :running + ;; sb-ext:process-exit-code can also be + ;; called for stopped processes to determine + ;; the signal that stopped them + (values status (sb-ext:process-exit-code process))))) (case status (:exited (setf (slot-value process-info 'exit-code) code)) (:signaled (let ((%code (%signal-to-exit-code code))) (setf (slot-value process-info 'exit-code) %code (slot-value process-info 'signal-code) code)))) - (values status code)))) + (if code + (values status code) + status)))) (defun process-alive-p (process-info) "Check if a process has yet to exit." @@ -5942,8 +5975,8 @@ argument to pass to the internal RUN-PROGRAM" #+abcl (sys:process-alive-p (slot-value process-info 'process)) #+(or cmucl scl) (ext:process-alive-p (slot-value process-info 'process)) #+sbcl (sb-ext:process-alive-p (slot-value process-info 'process)) - #-(or abcl cmucl sbcl scl) (member (%process-status process-info) - '(:running :sleeping)))) + #-(or abcl cmucl sbcl scl) (find (%process-status process-info) + '(:running :stopped :continued :resumed)))) (defun wait-process (process-info) "Wait for the process to terminate, if it is still running. @@ -5990,9 +6023,10 @@ might otherwise be irrevocably lost." (if (eq status :signaled) (values nil code) code)) - #+lispworks (funcall #+lispworks7+ #'sys:pipe-exit-status - #-lispworks7+ #'sys:pid-exit-status - process :wait t) + #+lispworks (symbol-call :sys + #+lispworks7+ :pipe-exit-status + #-lispworks7+ :pid-exit-status + process :wait t) #+mkcl (let ((code (mkcl:join-process process))) (if (stringp code) (values nil (%mkcl-signal-to-number code)) @@ -6041,14 +6075,13 @@ to ignore if URGENT is T. On some platforms, it may also be subject to race conditions." (declare (ignorable urgent)) #+abcl (sys:process-kill (slot-value process-info 'process)) - #+clasp (mp:process-kill (slot-value process-info 'process)) ;; On ECL, this will only work on versions later than 2016-09-06, ;; but we still want to compile on earlier versions, so we use symbol-call #+ecl (symbol-call :ext :terminate-process (slot-value process-info 'process) urgent) #+lispworks7+ (sys:pipe-kill-process (slot-value process-info 'process)) #+mkcl (mk-ext:terminate-process (slot-value process-info 'process) :force urgent) - #-(or abcl clasp ecl lispworks7+ mkcl) + #-(or abcl ecl lispworks7+ mkcl) (os-cond ((os-unix-p) (%posix-send-signal process-info (if urgent 9 15))) ((os-windows-p) (if-let (pid (process-info-pid process-info)) @@ -6284,18 +6317,18 @@ LAUNCH-PROGRAM returns a PROCESS-INFO object." (prop (case mode (1 'input-stream) (2 'output-stream) (3 'bidir-stream)) stream)) (prop 'process process)) #+lispworks + ;; See also the comments on the process-info class (let ((mode (+ (if (eq input :stream) 1 0) (if (eq output :stream) 2 0)))) (cond ((or (plusp mode) (eq error-output :stream)) (prop 'process #+lispworks7+ io-or-pid #-lispworks7+ pid-or-nil) (when (plusp mode) - (prop (ecase mode - (1 'input-stream) - (2 'output-stream) - (3 'bidir-stream)) io-or-pid)) + (prop (ecase mode (1 'input-stream) (2 'output-stream) (3 'bidir-stream)) + io-or-pid)) (when (eq error-output :stream) (prop 'error-stream err-or-nil))) - ;; lispworks6 returns (pid), lispworks7 returns (io err pid) of which we keep io + ;; Prior to Lispworks 7, this returned (pid); now it + ;; returns (io err pid) of which we keep io. (t (prop 'process io-or-pid))))) process-info))) @@ -6710,7 +6743,7 @@ or whether it's already taken care of by the implementation's underlying run-pro (reduce/strcat (os-cond ((os-unix-p) `(,@(when redirections `("exec " ,@redirections " ; ")) ,@chdir ,normalized)) - ((os-windows-p) `(,@chdir ,@redirections " " ,normalized))))))) + ((os-windows-p) `(,@redirections " (" ,@chdir ,normalized ")"))))))) (defun %system (command &rest keys &key directory input (if-input-does-not-exist :error) @@ -7303,7 +7336,7 @@ objects. Side-effects for cached file location computation." (in-package :uiop/backward-driver) (eval-when (:compile-toplevel :load-toplevel :execute) -(with-deprecation ((version-deprecation *uiop-version* :style-warning "3.2")) +(with-deprecation ((version-deprecation *uiop-version* :style-warning "3.2" :warning "3.4")) ;; Backward compatibility with ASDF 2.000 to 2.26 ;; For backward-compatibility only, for people using internals @@ -7470,7 +7503,7 @@ previously-loaded version of ASDF." ;; "3.4.5.67" would be a development version in the official branch, on top of 3.4.5. ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5 ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67 - (asdf-version "3.2.1") + (asdf-version "3.3.0") (existing-version (asdf-version))) (setf *asdf-version* asdf-version) (when (and existing-version (not (equal asdf-version existing-version))) @@ -7482,32 +7515,32 @@ previously-loaded version of ASDF." ;;; Upon upgrade, specially frob some functions and classes that are being incompatibly redefined (when-upgrading () - (let ((redefined-functions ;; List of functions that changes incompatibly since 2.27: - ;; gf signature changed (should NOT happen), defun that became a generic function, - ;; method removed that will mess up with new ones (especially :around :before :after, - ;; more specific or call-next-method'ed method) and/or semantics otherwise modified. Oops. - ;; NB: it's too late to do anything about functions in UIOP! - ;; If you introduce some critical incompatibility there, you must change the function name. - ;; Note that we don't need do anything about functions that changed incompatibly - ;; from ASDF 2.26 or earlier: we wholly punt on the entire ASDF package in such an upgrade. - ;; Also note that we don't include the defgeneric=>defun, because they are - ;; done directly with defun* and need not trigger a punt on data. - ;; See discussion at https://gitlab.common-lisp.net/asdf/asdf/merge_requests/36 - '(#:component-depends-on #:input-files ;; methods removed before 3.1.2 - #:find-component ;; gf modified in 3.1.7.20 - )) - (redefined-classes - ;; redefining the classes causes interim circularities - ;; with the old ASDF during upgrade, and many implementations bork - #-clozure () - #+clozure - '((#:compile-concatenated-source-op (#:operation) ()) - (#:compile-bundle-op (#:operation) ()) - (#:concatenate-source-op (#:operation) ()) - (#:dll-op (#:operation) ()) - (#:lib-op (#:operation) ()) - (#:monolithic-compile-bundle-op (#:operation) ()) - (#:monolithic-concatenate-source-op (#:operation) ())))) + (let* ((previous-version (first *previous-asdf-versions*)) + (redefined-functions ;; List of functions that changes incompatibly since 2.27: + ;; gf signature changed (should NOT happen), defun that became a generic function, + ;; method removed that will mess up with new ones (especially :around :before :after, + ;; more specific or call-next-method'ed method) and/or semantics otherwise modified. Oops. + ;; NB: it's too late to do anything about functions in UIOP! + ;; If you introduce some critical incompatibility there, you must change the function name. + ;; Note that we don't need do anything about functions that changed incompatibly + ;; from ASDF 2.26 or earlier: we wholly punt on the entire ASDF package in such an upgrade. + ;; Also note that we don't include the defgeneric=>defun, because they are + ;; done directly with defun* and need not trigger a punt on data. + ;; See discussion at https://gitlab.common-lisp.net/asdf/asdf/merge_requests/36 + `(,@(when (version<= previous-version "3.1.2") '(#:component-depends-on #:input-files)) ;; crucial methods *removed* before 3.1.2 + ,@(when (version<= previous-version "3.1.7.20") '(#:find-component)))) + (redefined-classes + ;; redefining the classes causes interim circularities + ;; with the old ASDF during upgrade, and many implementations bork + #-clozure () + #+clozure + '((#:compile-concatenated-source-op (#:operation) ()) + (#:compile-bundle-op (#:operation) ()) + (#:concatenate-source-op (#:operation) ()) + (#:dll-op (#:operation) ()) + (#:lib-op (#:operation) ()) + (#:monolithic-compile-bundle-op (#:operation) ()) + (#:monolithic-concatenate-source-op (#:operation) ())))) (loop :for name :in redefined-functions :for sym = (find-symbol* name :asdf nil) :do (when sym (fmakunbound sym))) @@ -7556,49 +7589,107 @@ previously-loaded version of ASDF." (with-deprecation ((version-deprecation *asdf-version* ,@keys)) ,@body)))) ;;;; ------------------------------------------------------------------------- -;;;; Session cache +;;;; Session -(uiop/package:define-package :asdf/cache +(uiop/package:define-package :asdf/session + (:recycle :asdf/session :asdf/cache :asdf/component + :asdf/action :asdf/find-system :asdf/plan :asdf) (:use :uiop/common-lisp :uiop :asdf/upgrade) - (:export #:get-file-stamp #:compute-file-stamp #:register-file-stamp - #:set-asdf-cache-entry #:unset-asdf-cache-entry #:consult-asdf-cache - #:do-asdf-cache #:normalize-namestring - #:call-with-asdf-cache #:with-asdf-cache #:*asdf-cache* - #:clear-configuration-and-retry #:retry)) -(in-package :asdf/cache) - -;;; The ASDF session cache is used to memoize some computations. It is instrumental in achieving: -;; * Consistency in the view of the world relied on by ASDF within a given session. -;; Inconsistencies in file stamps, system definitions, etc., could cause infinite loops -;; (a.k.a. stack overflows) and other erratic behavior. -;; * Speed and reliability of ASDF, with fewer side-effects from access to the filesystem, and -;; no expensive recomputations of transitive dependencies for some input-files or output-files. -;; * Testability of ASDF with the ability to fake timestamps without actually touching files. - -(with-upgradability () - ;; The session cache variable. - ;; NIL when outside a session, an equal hash-table when inside a session. - (defvar *asdf-cache* nil) + (:export + #:get-file-stamp #:compute-file-stamp #:register-file-stamp + #:asdf-cache #:set-asdf-cache-entry #:unset-asdf-cache-entry #:consult-asdf-cache + #:do-asdf-cache #:normalize-namestring + #:call-with-asdf-session #:with-asdf-session + #:*asdf-session* #:*asdf-session-class* #:session #:toplevel-asdf-session + #:session-cache #:forcing #:asdf-upgraded-p + #:visited-actions #:visiting-action-set #:visiting-action-list + #:total-action-count #:planned-action-count #:planned-output-action-count + #:clear-configuration-and-retry #:retry + #:operate-level + ;; conditions + #:system-definition-error ;; top level, moved here because this is the earliest place for it. + #:formatted-system-definition-error #:format-control #:format-arguments #:sysdef-error)) +(in-package :asdf/session) + + +(with-upgradability () + ;; The session variable. + ;; NIL when outside a session. + (defvar *asdf-session* nil) + (defparameter* *asdf-session-class* 'session + "The default class for sessions") + + (defclass session () + (;; The ASDF session cache is used to memoize some computations. + ;; It is instrumental in achieving: + ;; * Consistency in the view of the world relied on by ASDF within a given session. + ;; Inconsistencies in file stamps, system definitions, etc., could cause infinite loops + ;; (a.k.a. stack overflows) and other erratic behavior. + ;; * Speed and reliability of ASDF, with fewer side-effects from access to the filesystem, and + ;; no expensive recomputations of transitive dependencies for input-files or output-files. + ;; * Testability of ASDF with the ability to fake timestamps without actually touching files. + (ancestor + :initform nil :initarg :ancestor :reader session-ancestor + :documentation "Top level session that this is part of") + (session-cache + :initform (make-hash-table :test 'equal) :initarg :session-cache :reader session-cache + :documentation "Memoize expensive computations") + (operate-level + :initform 0 :initarg :operate-level :accessor session-operate-level + :documentation "Number of nested calls to operate we're under (for toplevel session only)") + ;; shouldn't the below be superseded by the session-wide caching of action-status + ;; for (load-op "asdf") ? + (asdf-upgraded-p + :initform nil :initarg :asdf-upgraded-p :accessor asdf-upgraded-p + :documentation "Was ASDF already upgraded in this session - only valid for toplevel-asdf-session.") + (forcing + :initform nil :initarg :forcing :accessor forcing + :documentation "Forcing parameters for the session") + ;; Table that to actions already visited while walking the dependencies associates status + (visited-actions :initform (make-hash-table :test 'equal) :accessor visited-actions) + ;; Actions that depend on those being currently walked through, to detect circularities + (visiting-action-set ;; as a set + :initform (make-hash-table :test 'equal) :accessor visiting-action-set) + (visiting-action-list :initform () :accessor visiting-action-list) ;; as a list + ;; Counts of total actions in plan + (total-action-count :initform 0 :accessor total-action-count) + ;; Count of actions that need to be performed + (planned-action-count :initform 0 :accessor planned-action-count) + ;; Count of actions that need to be performed that have a non-empty list of output-files. + (planned-output-action-count :initform 0 :accessor planned-output-action-count)) + (:documentation "An ASDF session with a cache to memoize some computations")) + + (defun toplevel-asdf-session () + (when *asdf-session* (or (session-ancestor *asdf-session*) *asdf-session*))) + + (defun operate-level () + (session-operate-level (toplevel-asdf-session))) + + (defun (setf operate-level) (new-level) + (setf (session-operate-level (toplevel-asdf-session)) new-level)) + + (defun asdf-cache () + (session-cache *asdf-session*)) ;; Set a session cache entry for KEY to a list of values VALUE-LIST, when inside a session. ;; Return those values. (defun set-asdf-cache-entry (key value-list) - (values-list (if *asdf-cache* - (setf (gethash key *asdf-cache*) value-list) + (values-list (if *asdf-session* + (setf (gethash key (asdf-cache)) value-list) value-list))) ;; Unset the session cache entry for KEY, when inside a session. (defun unset-asdf-cache-entry (key) - (when *asdf-cache* - (remhash key *asdf-cache*))) + (when *asdf-session* + (remhash key (session-cache *asdf-session*)))) ;; Consult the session cache entry for KEY if present and in a session; ;; if not present, compute it by calling the THUNK, ;; and set the session cache entry accordingly, if in a session. ;; Return the values from the cache and/or the thunk computation. (defun consult-asdf-cache (key &optional thunk) - (if *asdf-cache* - (multiple-value-bind (results foundp) (gethash key *asdf-cache*) + (if *asdf-session* + (multiple-value-bind (results foundp) (gethash key (session-cache *asdf-session*)) (if foundp (values-list results) (set-asdf-cache-entry key (multiple-value-list (call-function thunk))))) @@ -7614,13 +7705,20 @@ previously-loaded version of ASDF." ;; Second, if a new session was started, establish restarts for retrying the overall computation. ;; Finally, consult the cache if a KEY was specified with the THUNK as a fallback when the cache ;; entry isn't found, or just call the THUNK if no KEY was specified. - (defun call-with-asdf-cache (thunk &key override key) + (defun call-with-asdf-session (thunk &key override key override-cache override-forcing) (let ((fun (if key #'(lambda () (consult-asdf-cache key thunk)) thunk))) - (if (and *asdf-cache* (not override)) + (if (and (not override) *asdf-session*) (funcall fun) (loop (restart-case - (let ((*asdf-cache* (make-hash-table :test 'equal))) + (let ((*asdf-session* + (apply 'make-instance *asdf-session-class* + (when *asdf-session* + `(:ancestor ,(toplevel-asdf-session) + ,@(unless override-forcing + `(:forcing ,(forcing *asdf-session*))) + ,@(unless override-cache + `(:session-cache ,(session-cache *asdf-session*)))))))) (return (funcall fun))) (retry () :report (lambda (s) @@ -7628,11 +7726,15 @@ previously-loaded version of ASDF." (clear-configuration-and-retry () :report (lambda (s) (format s (compatfmt "~@<Retry ASDF operation after resetting the configuration.~@:>"))) + (clrhash (session-cache *asdf-session*)) (clear-configuration))))))) - ;; Syntactic sugar for call-with-asdf-cache - (defmacro with-asdf-cache ((&key key override) &body body) - `(call-with-asdf-cache #'(lambda () ,@body) :override ,override :key ,key)) + ;; Syntactic sugar for call-with-asdf-session + (defmacro with-asdf-session ((&key key override override-cache override-forcing) &body body) + `(call-with-asdf-session + #'(lambda () ,@body) + :override ,override :key ,key + :override-cache ,override-cache :override-forcing ,override-forcing)) ;;; Define specific accessor for file (date) stamp. @@ -7648,7 +7750,7 @@ previously-loaded version of ASDF." ;; Compute the file stamp for a normalized namestring (defun compute-file-stamp (normalized-namestring) (with-pathname-defaults () - (safe-file-write-date normalized-namestring))) + (or (safe-file-write-date normalized-namestring) t))) ;; Override the time STAMP associated to a given FILE in the session cache. ;; If no STAMP is specified, recompute a new one from the filesystem. @@ -7661,16 +7763,38 @@ previously-loaded version of ASDF." (defun get-file-stamp (file) (when file (let ((namestring (normalize-namestring file))) - (do-asdf-cache `(get-file-stamp ,namestring) (compute-file-stamp namestring)))))) + (do-asdf-cache `(get-file-stamp ,namestring) (compute-file-stamp namestring))))) + + + ;;; Conditions + + (define-condition system-definition-error (error) () + ;; [this use of :report should be redundant, but unfortunately it's not. + ;; cmucl's lisp::output-instance prefers the kernel:slot-class-print-function + ;; over print-object; this is always conditions::%print-condition for + ;; condition objects, which in turn does inheritance of :report options at + ;; run-time. fortunately, inheritance means we only need this kludge here in + ;; order to fix all conditions that build on it. -- rgr, 28-Jul-02.] + #+cmucl (:report print-object)) + + (define-condition formatted-system-definition-error (system-definition-error) + ((format-control :initarg :format-control :reader format-control) + (format-arguments :initarg :format-arguments :reader format-arguments)) + (:report (lambda (c s) + (apply 'format s (format-control c) (format-arguments c))))) + (defun sysdef-error (format &rest arguments) + (error 'formatted-system-definition-error :format-control + format :format-arguments arguments))) ;;;; ------------------------------------------------------------------------- ;;;; Components (uiop/package:define-package :asdf/component - (:recycle :asdf/component :asdf/defsystem :asdf/find-system :asdf) - (:use :uiop/common-lisp :uiop :asdf/upgrade) + (:recycle :asdf/component :asdf/find-component :asdf) + (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session) (:export #:component #:component-find-path + #:find-component ;; methods defined in find-component #:component-name #:component-pathname #:component-relative-pathname #:component-parent #:component-system #:component-parent-pathname #:child-component #:parent-component #:module @@ -7694,7 +7818,6 @@ previously-loaded version of ASDF." #:sub-components ;; conditions - #:system-definition-error ;; top level, moved here because this is the earliest place for it. #:duplicate-names ;; Internals we'd like to share with the ASDF package, especially for upgrade purposes @@ -7746,15 +7869,6 @@ or NIL for top-level components (a.k.a. systems)")) (defgeneric source-file-type (component system) (:documentation "DEPRECATED. Use the FILE-TYPE of a COMPONENT instead.")) - (define-condition system-definition-error (error) () - ;; [this use of :report should be redundant, but unfortunately it's not. - ;; cmucl's lisp::output-instance prefers the kernel:slot-class-print-function - ;; over print-object; this is always conditions::%print-condition for - ;; condition objects, which in turn does inheritance of :report options at - ;; run-time. fortunately, inheritance means we only need this kludge here in - ;; order to fix all conditions that build on it. -- rgr, 28-Jul-02.] - #+cmucl (:report print-object)) - (define-condition duplicate-names (system-definition-error) ((name :initarg :name :reader duplicate-names-name)) (:report (lambda (c s) @@ -7812,9 +7926,15 @@ or NIL for top-level components (a.k.a. systems)")) ;; For backward-compatibility, this slot is part of component rather than of child-component. ASDF4: stop it. (parent :initarg :parent :initform nil :reader component-parent) (build-operation - :initarg :build-operation :initform nil :reader component-build-operation)) + :initarg :build-operation :initform nil :reader component-build-operation) + ;; Cache for ADDITIONAL-INPUT-FILES function. + (additional-input-files :accessor %additional-input-files :initform nil)) (:documentation "Base class for all components of a build")) + (defgeneric find-component (base path &key registered) + (:documentation "Find a component by resolving the PATH starting from BASE parent. +If REGISTERED is true, only search currently registered systems.")) + (defun component-find-path (component) "Return a path from a root system to the COMPONENT. The return value is a list of component NAMES; a list of strings." @@ -7998,19 +8118,94 @@ this compilation, or check its results, etc.")) (map () #'recurse (component-children x)))))) (recurse component))))) +;;;; ------------------------------------------------------------------------- +;;;; Operations + +(uiop/package:define-package :asdf/operation + (:recycle :asdf/operation :asdf/action :asdf) ;; asdf/action for FEATURE pre 2.31.5. + (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session) + (:export + #:operation + #:*operations* #:make-operation #:find-operation + #:feature)) ;; TODO: stop exporting the deprecated FEATURE feature. +(in-package :asdf/operation) + +;;; Operation Classes +(when-upgrading (:version "2.27" :when (find-class 'operation nil)) + ;; override any obsolete shared-initialize method when upgrading from ASDF2. + (defmethod shared-initialize :after ((o operation) (slot-names t) &key) + (values))) + +(with-upgradability () + (defclass operation () + () + (:documentation "The base class for all ASDF operations. + +ASDF does NOT and never did distinguish between multiple operations of the same class. +Therefore, all slots of all operations MUST have :allocation :class and no initargs. No exceptions. +")) + + (defvar *in-make-operation* nil) + + (defun check-operation-constructor () + "Enforce that OPERATION instances must be created with MAKE-OPERATION." + (unless *in-make-operation* + (sysdef-error "OPERATION instances must only be created through MAKE-OPERATION."))) + + (defmethod print-object ((o operation) stream) + (print-unreadable-object (o stream :type t :identity nil))) + + ;;; Override previous methods (from 3.1.7 and earlier) and add proper error checking. + #-genera ;; Genera adds its own system initargs, e.g. clos-internals:storage-area 8 + (defmethod initialize-instance :after ((o operation) &rest initargs &key &allow-other-keys) + (unless (null initargs) + (parameter-error "~S does not accept initargs" 'operation)))) + + +;;; make-operation, find-operation + +(with-upgradability () + ;; A table to memoize instances of a given operation. There shall be only one. + (defparameter* *operations* (make-hash-table :test 'equal)) + + ;; A memoizing way of creating instances of operation. + (defun make-operation (operation-class) + "This function creates and memoizes an instance of OPERATION-CLASS. +All operation instances MUST be created through this function. + +Use of INITARGS is not supported at this time." + (let ((class (coerce-class operation-class + :package :asdf/interface :super 'operation :error 'sysdef-error)) + (*in-make-operation* t)) + (ensure-gethash class *operations* `(make-instance ,class)))) + + ;; This function is mostly for backward and forward compatibility: + ;; operations used to preserve the operation-original-initargs of the context, + ;; and may in the future preserve some operation-canonical-initargs. + ;; Still, the treatment of NIL as a disabling context is useful in some cases. + (defgeneric find-operation (context spec) + (:documentation "Find an operation by resolving the SPEC in the CONTEXT")) + (defmethod find-operation ((context t) (spec operation)) + spec) + (defmethod find-operation ((context t) (spec symbol)) + (when spec ;; NIL designates itself, i.e. absence of operation + (make-operation spec))) ;; TODO: preserve the (operation-canonical-initargs context) + (defmethod find-operation ((context t) (spec string)) + (make-operation spec))) ;; TODO: preserve the (operation-canonical-initargs context) + ;;;; ------------------------------------------------------------------------- ;;;; Systems (uiop/package:define-package :asdf/system - (:recycle :asdf :asdf/system) - (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/component) + (:recycle :asdf :asdf/system :asdf/find-system) + (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session :asdf/component) (:export - #:system #:proto-system + #:system #:proto-system #:undefined-system #:reset-system-class #:system-source-file #:system-source-directory #:system-relative-pathname - #:reset-system #:system-description #:system-long-description #:system-author #:system-maintainer #:system-licence #:system-license - #:system-defsystem-depends-on #:system-depends-on #:system-weakly-depends-on + #:definition-dependency-list #:definition-dependency-set #:system-defsystem-depends-on + #:system-depends-on #:system-weakly-depends-on #:component-build-pathname #:build-pathname #:component-entry-point #:entry-point #:homepage #:system-homepage @@ -8018,6 +8213,7 @@ this compilation, or check its results, etc.")) #:mailto #:system-mailto #:long-name #:system-long-name #:source-control #:system-source-control + #:coerce-name #:primary-system-name #:primary-system-p #:coerce-filename #:find-system #:builtin-system-p)) ;; forward-reference, defined in find-system (in-package :asdf/system) @@ -8059,7 +8255,14 @@ NB: This interface is subject to change. Please contact ASDF maintainers if you (defclass proto-system () ; slots to keep when resetting a system ;; To preserve identity for all objects, we'd need keep the components slots ;; but also to modify parse-component-form to reset the recycled objects. - ((name) (source-file) #|(children) (children-by-names)|#) + ((name) + (source-file) + ;; These two slots contains the *inferred* dependencies of define-op, + ;; from loading the .asd file, as list and as set. + (definition-dependency-list + :initform nil :accessor definition-dependency-list) + (definition-dependency-set + :initform (list-to-hash-set nil) :accessor definition-dependency-set)) (:documentation "PROTO-SYSTEM defines the elements of identity that are preserved when a SYSTEM is redefined and its class is modified.")) @@ -8085,6 +8288,7 @@ a SYSTEM is redefined and its class is modified.")) (entry-point :initform nil :initarg :entry-point :accessor component-entry-point) (source-file :initform nil :initarg :source-file :accessor system-source-file) + ;; This slot contains the *declared* defsystem-depends-on dependencies (defsystem-depends-on :reader system-defsystem-depends-on :initarg :defsystem-depends-on :initform nil) ;; these two are specially set in parse-component-form, so have no :INITARGs. @@ -8093,14 +8297,54 @@ a SYSTEM is redefined and its class is modified.")) (:documentation "SYSTEM is the base class for top-level components that users may request ASDF to build.")) + (defclass undefined-system (system) () + (:documentation "System that was not defined yet.")) - (defun reset-system (system &rest keys &key &allow-other-keys) + (defun reset-system-class (system new-class &rest keys &key &allow-other-keys) "Erase any data from a SYSTEM except its basic identity, then reinitialize it based on supplied KEYS." - (change-class (change-class system 'proto-system) 'system) + (change-class (change-class system 'proto-system) new-class) (apply 'reinitialize-instance system keys))) +;;; Canonicalizing system names + +(with-upgradability () + (defun coerce-name (name) + "Given a designator for a component NAME, return the name as a string. +The designator can be a COMPONENT (designing its name; note that a SYSTEM is a component), +a SYMBOL (designing its name, downcased), or a STRING (designing itself)." + (typecase name + (component (component-name name)) + (symbol (string-downcase name)) + (string name) + (t (sysdef-error (compatfmt "~@<Invalid component designator: ~3i~_~A~@:>") name)))) + + (defun primary-system-name (system-designator) + "Given a system designator NAME, return the name of the corresponding primary system, +after which the .asd file is named. That's the first component when dividing the name +as a string by / slashes. A component designates its system." + (etypecase system-designator + (string (if-let (p (position #\/ system-designator)) + (subseq system-designator 0 p) system-designator)) + (symbol (primary-system-name (coerce-name system-designator))) + (component (primary-system-name (coerce-name (component-system system-designator)))))) + + (defun primary-system-p (system) + "Given a system designator SYSTEM, return T if it designates a primary system, or else NIL. +Also return NIL if system is neither a SYSTEM nor a string designating one." + (typecase system + (string (not (find #\/ system))) + (system (primary-system-p (coerce-name system))))) + + (defun coerce-filename (name) + "Coerce a system designator NAME into a string suitable as a filename component. +The (current) transformation is to replace characters /:\\ each by --, +the former being forbidden in a filename component. +NB: The onus is unhappily on the user to avoid clashes." + (frob-substrings (coerce-name name) '("/" ":" "\\") "--"))) + + ;;;; Pathnames (with-upgradability () @@ -8157,112 +8401,45 @@ return the absolute pathname of a corresponding file under that system's source ;;;; ------------------------------------------------------------------------- ;;;; Finding systems -(uiop/package:define-package :asdf/find-system - (:recycle :asdf/find-system :asdf) +(uiop/package:define-package :asdf/system-registry + (:recycle :asdf/system-registry :asdf/find-system :asdf) (:use :uiop/common-lisp :uiop :asdf/upgrade - :asdf/cache :asdf/component :asdf/system) + :asdf/session :asdf/component :asdf/system) (:export #:remove-entry-from-registry #:coerce-entry-to-directory - #:coerce-name #:primary-system-name #:coerce-filename - #:find-system #:locate-system #:load-asd - #:system-registered-p #:registered-system #:register-system + #:registered-system #:register-system #:registered-systems* #:registered-systems #:clear-system #:map-systems - #:missing-component #:missing-requires #:missing-parent - #:formatted-system-definition-error #:format-control #:format-arguments #:sysdef-error - #:load-system-definition-error #:error-name #:error-pathname #:error-condition #:*system-definition-search-functions* #:search-for-system-definition #:*central-registry* #:probe-asd #:sysdef-central-registry-search - #:find-system-if-being-defined #:contrib-sysdef-search #:sysdef-find-asdf ;; backward compatibility symbols, functions removed #:sysdef-preloaded-system-search #:register-preloaded-system #:*preloaded-systems* - #:mark-component-preloaded ;; forward reference to asdf/operate + #:find-system-if-being-defined #:mark-component-preloaded ;; forward references to asdf/find-system #:sysdef-immutable-system-search #:register-immutable-system #:*immutable-systems* - #:*defined-systems* #:clear-defined-systems + #:*registered-systems* #:clear-registered-systems ;; defined in source-registry, but specially mentioned here: - #:initialize-source-registry #:sysdef-source-registry-search)) -(in-package :asdf/find-system) + #:sysdef-source-registry-search)) +(in-package :asdf/system-registry) (with-upgradability () - (declaim (ftype (function (&optional t) t) initialize-source-registry)) ; forward reference - - (define-condition missing-component (system-definition-error) - ((requires :initform "(unnamed)" :reader missing-requires :initarg :requires) - (parent :initform nil :reader missing-parent :initarg :parent))) - - (define-condition formatted-system-definition-error (system-definition-error) - ((format-control :initarg :format-control :reader format-control) - (format-arguments :initarg :format-arguments :reader format-arguments)) - (:report (lambda (c s) - (apply 'format s (format-control c) (format-arguments c))))) - - (define-condition load-system-definition-error (system-definition-error) - ((name :initarg :name :reader error-name) - (pathname :initarg :pathname :reader error-pathname) - (condition :initarg :condition :reader error-condition)) - (:report (lambda (c s) - (format s (compatfmt "~@<Error while trying to load definition for system ~A from pathname ~A: ~3i~_~A~@:>") - (error-name c) (error-pathname c) (error-condition c))))) - - (defun sysdef-error (format &rest arguments) - (error 'formatted-system-definition-error :format-control - format :format-arguments arguments)) - - - ;;; Canonicalizing system names - - (defun coerce-name (name) - "Given a designator for a component NAME, return the name as a string. -The designator can be a COMPONENT (designing its name; note that a SYSTEM is a component), -a SYMBOL (designing its name, downcased), or a STRING (designing itself)." - (typecase name - (component (component-name name)) - (symbol (string-downcase name)) - (string name) - (t (sysdef-error (compatfmt "~@<Invalid component designator: ~3i~_~A~@:>") name)))) - - (defun primary-system-name (name) - "Given a system designator NAME, return the name of the corresponding primary system, -after which the .asd file is named. That's the first component when dividing the name -as a string by / slashes." - (first (split-string (coerce-name name) :separator "/"))) - - (defun coerce-filename (name) - "Coerce a system designator NAME into a string suitable as a filename component. -The (current) transformation is to replace characters /:\\ each by --, -the former being forbidden in a filename component. -NB: The onus is unhappily on the user to avoid clashes." - (frob-substrings (coerce-name name) '("/" ":" "\\") "--")) - - ;;; Registry of Defined Systems - (defvar *defined-systems* (make-hash-table :test 'equal) - "This is a hash table whose keys are strings -- the -names of systems -- and whose values are pairs, the first -element of which is a universal-time indicating when the -system definition was last updated, and the second element -of which is a system object. - A system is referred to as \"registered\" if it is present -in this table.") - - (defun system-registered-p (name) - "Return a generalized boolean that is true if a system of given NAME was registered already. -NAME is a system designator, to be normalized by COERCE-NAME. -The value returned if true is a pair of a timestamp and a system object." - (gethash (coerce-name name) *defined-systems*)) + (defvar *registered-systems* (make-hash-table :test 'equal) + "This is a hash table whose keys are strings -- the names of systems -- +and whose values are systems. +A system is referred to as \"registered\" if it is present in this table.") (defun registered-system (name) "Return a system of given NAME that was registered already, if such a system exists. NAME is a system designator, to be normalized by COERCE-NAME. The value returned is a system object, or NIL if not found." - (cdr (system-registered-p name))) + (gethash (coerce-name name) *registered-systems*)) (defun registered-systems* () "Return a list containing every registered system (as a system object)." - (loop :for registered :being :the :hash-values :of *defined-systems* - :collect (cdr registered))) + (loop :for registered :being :the :hash-values :of *registered-systems* + :collect registered)) (defun registered-systems () "Return a list of the names of every registered system." @@ -8273,19 +8450,16 @@ or NIL if not found." (check-type system system) (let ((name (component-name system))) (check-type name string) - (asdf-message (compatfmt "~&~@<; ~@;Registering ~3i~_~A~@:>~%") system) - (unless (eq system (registered-system name)) - (setf (gethash name *defined-systems*) - (cons (ignore-errors (get-file-stamp (system-source-file system))) - system))))) + (asdf-message (compatfmt "~&~@<; ~@;Registering system ~3i~_~A~@:>~%") name) + (setf (gethash name *registered-systems*) system))) (defun map-systems (fn) "Apply FN to each defined system. FN should be a function of one argument. It will be called with an object of type asdf:system." - (loop :for registered :being :the :hash-values :of *defined-systems* - :do (funcall fn (cdr registered)))) + (loop :for registered :being :the :hash-values :of *registered-systems* + :do (funcall fn registered))) ;;; Preloaded systems: in the image even if you can't find source files backing them. @@ -8293,7 +8467,7 @@ called with an object of type asdf:system." (defvar *preloaded-systems* (make-hash-table :test 'equal) "Registration table for preloaded systems.") - (declaim (ftype (function (t) t) mark-component-preloaded)) ; defined in asdf/operate + (declaim (ftype (function (t) t) mark-component-preloaded)) ; defined in asdf/find-system (defun make-preloaded-system (name keys) "Make a preloaded system of given NAME with build information from KEYS" @@ -8379,15 +8553,14 @@ Returns T if system was or is now undefined, NIL if a new preloaded system was r ;; a general such operation cannot be portably written, ;; considering how much CL relies on side-effects to global data structures. (let ((name (coerce-name system))) - (remhash name *defined-systems*) + (remhash name *registered-systems*) (unset-asdf-cache-entry `(find-system ,name)) (not (ensure-preloaded-system-registered name)))) - (defun clear-defined-systems () + (defun clear-registered-systems () "Clear all currently registered defined systems. Preloaded systems (including immutable ones) will be reset, other systems will be de-registered." - (loop :for name :being :the :hash-keys :of *defined-systems* - :unless (member name '("asdf" "uiop") :test 'equal) :do (clear-system name))) + (map () 'clear-system (registered-systems))) ;;; Searching for system definitions @@ -8424,7 +8597,7 @@ with that name.") ;; it is to be called by locate-system. (defun search-for-system-definition (system) ;; Search for valid definitions of the system available in the current session. - ;; Previous definitions as registered in *defined-systems* MUST NOT be considered; + ;; Previous definitions as registered in *registered-systems* MUST NOT be considered; ;; they will be reconciled by locate-system then find-system. ;; There are two special treatments: first, specially search for objects being defined ;; in the current session, to avoid definition races between several files; @@ -8527,461 +8700,65 @@ Going forward, we recommend new users should be using the source-registry.") (setf *central-registry* (append (subseq *central-registry* 0 position) (list new) - (subseq *central-registry* (1+ position)))))))))) - - - ;;; Methods for find-system + (subseq *central-registry* (1+ position))))))))))) - ;; Reject NIL as a system designator. - (defmethod find-system ((name null) &optional (error-p t)) - (when error-p - (sysdef-error (compatfmt "~@<NIL is not a valid system name~@:>")))) +;;;; ------------------------------------------------------------------------- +;;;; Actions - ;; Default method for find-system: resolve the argument using COERCE-NAME. - (defmethod find-system (name &optional (error-p t)) - (find-system (coerce-name name) error-p)) +(uiop/package:define-package :asdf/action + (:nicknames :asdf-action) + (:recycle :asdf/action :asdf/plan :asdf) + (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session :asdf/component :asdf/operation) + (:import-from :asdf/operation #:check-operation-constructor) + (:import-from :asdf/component #:%additional-input-files) + (:export + #:action #:define-convenience-action-methods + #:action-description #:format-action + #:downward-operation #:upward-operation #:sideway-operation #:selfward-operation + #:non-propagating-operation + #:component-depends-on + #:input-files #:output-files #:output-file #:operation-done-p + #:action-operation #:action-component #:make-action + #:component-operation-time #:mark-operation-done #:compute-action-stamp + #:perform #:perform-with-restarts #:retry #:accept + #:action-path #:find-action + #:operation-definition-warning #:operation-definition-error ;; condition + #:action-valid-p + #:circular-dependency #:circular-dependency-actions + #:call-while-visiting-action #:while-visiting-action + #:additional-input-files)) +(in-package :asdf/action) - (defun find-system-if-being-defined (name) - ;; This function finds systems being defined *in the current ASDF session*, as embodied by - ;; its session cache, even before they are fully defined and registered in *defined-systems*. - ;; The purpose of this function is to prevent races between two files that might otherwise - ;; try overwrite each other's system objects, resulting in infinite loops and stack overflow. - ;; This function explicitly MUST NOT find definitions merely registered in previous sessions. - ;; NB: this function depends on a corresponding side-effect in parse-defsystem; - ;; the precise protocol between the two functions may change in the future (or not). - (first (gethash `(find-system ,(coerce-name name)) *asdf-cache*))) +(eval-when (#-lispworks :compile-toplevel :load-toplevel :execute) ;; LispWorks issues spurious warning - (defun load-asd (pathname - &key name (external-format (encoding-external-format (detect-encoding pathname))) - &aux (readtable *readtable*) (print-pprint-dispatch *print-pprint-dispatch*)) - "Load system definitions from PATHNAME. -NAME if supplied is the name of a system expected to be defined in that file. + (deftype action () + "A pair of operation and component uniquely identifies a node in the dependency graph +of steps to be performed while building a system." + '(cons operation component)) -Do NOT try to load a .asd file directly with CL:LOAD. Always use ASDF:LOAD-ASD." - (with-asdf-cache () - (with-standard-io-syntax - (let ((*package* (find-package :asdf-user)) - ;; Note that our backward-compatible *readtable* is - ;; a global readtable that gets globally side-effected. Ouch. - ;; Same for the *print-pprint-dispatch* table. - ;; We should do something about that for ASDF3 if possible, or else ASDF4. - (*readtable* readtable) - (*print-pprint-dispatch* print-pprint-dispatch) - (*print-readably* nil) - (*default-pathname-defaults* - ;; resolve logical-pathnames so they won't wreak havoc in parsing namestrings. - (pathname-directory-pathname (physicalize-pathname pathname)))) - (handler-bind - (((and error (not missing-component)) - #'(lambda (condition) - (error 'load-system-definition-error - :name name :pathname pathname :condition condition)))) - (asdf-message (compatfmt "~&~@<; ~@;Loading system definition~@[ for ~A~] from ~A~@:>~%") - name pathname) - (load* pathname :external-format external-format)))))) + (deftype operation-designator () + "An operation designates itself. NIL designates a context-dependent current operation, +and a class-name or class designates the canonical instance of the designated class." + '(or operation null symbol class))) - (defvar *old-asdf-systems* (make-hash-table :test 'equal)) - - ;; (Private) function to check that a system that was found isn't an asdf downgrade. - ;; Returns T if everything went right, NIL if the system was an ASDF of the same or older version, - ;; that shall not be loaded. Also issue a warning if it was a strictly older version of ASDF. - (defun check-not-old-asdf-system (name pathname) - (or (not (equal name "asdf")) - (null pathname) - (let* ((version-pathname (subpathname pathname "version.lisp-expr")) - (version (and (probe-file* version-pathname :truename nil) - (read-file-form version-pathname))) - (old-version (asdf-version))) - (cond - ((version< old-version version) t) ;; newer version: good! - ((equal old-version version) nil) ;; same version: don't load, but don't warn - (t ;; old version: bad - (ensure-gethash - (list (namestring pathname) version) *old-asdf-systems* - #'(lambda () - (let ((old-pathname (system-source-file (registered-system "asdf")))) - (warn "~@<~ - You are using ASDF version ~A ~:[(probably from (require \"asdf\") ~ - or loaded by quicklisp)~;from ~:*~S~] and have an older version of ASDF ~ - ~:[(and older than 2.27 at that)~;~:*~A~] registered at ~S. ~ - Having an ASDF installed and registered is the normal way of configuring ASDF to upgrade itself, ~ - and having an old version registered is a configuration error. ~ - ASDF will ignore this configured system rather than downgrade itself. ~ - In the future, you may want to either: ~ - (a) upgrade this configured ASDF to a newer version, ~ - (b) install a newer ASDF and register it in front of the former in your configuration, or ~ - (c) uninstall or unregister this and any other old version of ASDF from your configuration. ~ - Note that the older ASDF might be registered implicitly through configuration inherited ~ - from your system installation, in which case you might have to specify ~ - :ignore-inherited-configuration in your in your ~~/.config/common-lisp/source-registry.conf ~ - or other source-registry configuration file, environment variable or lisp parameter. ~ - Indeed, a likely offender is an obsolete version of the cl-asdf debian or ubuntu package, ~ - that you might want to upgrade (if a recent enough version is available) ~ - or else remove altogether (since most implementations ship with a recent asdf); ~ - if you lack the system administration rights to upgrade or remove this package, ~ - then you might indeed want to either install and register a more recent version, ~ - or use :ignore-inherited-configuration to avoid registering the old one. ~ - Please consult ASDF documentation and/or experts.~@:>~%" - old-version old-pathname version pathname)))) - nil))))) ;; only issue the warning the first time, but always return nil - - (defun locate-system (name) - "Given a system NAME designator, try to locate where to load the system from. -Returns five values: FOUNDP FOUND-SYSTEM PATHNAME PREVIOUS PREVIOUS-TIME -FOUNDP is true when a system was found, -either a new unregistered one or a previously registered one. -FOUND-SYSTEM when not null is a SYSTEM object that may be REGISTER-SYSTEM'ed. -PATHNAME when not null is a path from which to load the system, -either associated with FOUND-SYSTEM, or with the PREVIOUS system. -PREVIOUS when not null is a previously loaded SYSTEM object of same name. -PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded." - (with-asdf-cache () ;; NB: We don't cache the results. We once used to, but it wasn't useful, - ;; and keeping a negative cache was a bug (see lp#1335323), which required - ;; explicit invalidation in clear-system and find-system (when unsucccessful). - (let* ((name (coerce-name name)) - (in-memory (system-registered-p name)) ; load from disk if absent or newer on disk - (previous (cdr in-memory)) - (previous (and (typep previous 'system) previous)) - (previous-time (car in-memory)) - (found (search-for-system-definition name)) - (found-system (and (typep found 'system) found)) - (pathname (ensure-pathname - (or (and (typep found '(or pathname string)) (pathname found)) - (system-source-file found-system) - (system-source-file previous)) - :want-absolute t :resolve-symlinks *resolve-symlinks*)) - (foundp (and (or found-system pathname previous) t))) - (check-type found (or null pathname system)) - (unless (check-not-old-asdf-system name pathname) - (check-type previous system) ;; asdf is preloaded, so there should be a previous one. - (setf found-system nil pathname nil)) - (values foundp found-system pathname previous previous-time)))) - - ;; Main method for find-system: first, make sure the computation is memoized in a session cache. - ;; unless the system is immutable, use locate-system to find the primary system; - ;; reconcile the finding (if any) with any previous definition (in a previous session, - ;; preloaded, with a previous configuration, or before filesystem changes), and - ;; load a found .asd if appropriate. Finally, update registration table and return results. - (defmethod find-system ((name string) &optional (error-p t)) - (with-asdf-cache (:key `(find-system ,name)) - (let ((primary-name (primary-system-name name))) - (unless (equal name primary-name) - (find-system primary-name nil))) - (or (and *immutable-systems* (gethash name *immutable-systems*) (registered-system name)) - (multiple-value-bind (foundp found-system pathname previous previous-time) - (locate-system name) - (assert (eq foundp (and (or found-system pathname previous) t))) - (let ((previous-pathname (system-source-file previous)) - (system (or previous found-system))) - (when (and found-system (not previous)) - (register-system found-system)) - (when (and system pathname) - (setf (system-source-file system) pathname)) - (when (and pathname - (let ((stamp (get-file-stamp pathname))) - (and stamp - (not (and previous - (or (pathname-equal pathname previous-pathname) - (and pathname previous-pathname - (pathname-equal - (physicalize-pathname pathname) - (physicalize-pathname previous-pathname)))) - (stamp<= stamp previous-time)))))) - ;; Only load when it's a pathname that is different or has newer content. - (load-asd pathname :name name))) - ;; Try again after having loaded from disk if needed - (let ((in-memory (system-registered-p name))) - (cond - (in-memory - (when pathname - (setf (car in-memory) (get-file-stamp pathname))) - (cdr in-memory)) - (error-p - (error 'missing-component :requires name)) - (t - (return-from find-system nil))))))))) -;;;; ------------------------------------------------------------------------- -;;;; Finding components - -(uiop/package:define-package :asdf/find-component - (:recycle :asdf/find-component :asdf) - (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/cache - :asdf/component :asdf/system :asdf/find-system) - (:export - #:find-component - #:resolve-dependency-name #:resolve-dependency-spec - #:resolve-dependency-combination - ;; Conditions - #:missing-component #:missing-component-of-version #:retry - #:missing-dependency #:missing-dependency-of-version - #:missing-requires #:missing-parent - #:missing-required-by #:missing-version)) -(in-package :asdf/find-component) - -;;;; Missing component conditions - -(with-upgradability () - (define-condition missing-component-of-version (missing-component) - ((version :initform nil :reader missing-version :initarg :version))) - - (define-condition missing-dependency (missing-component) - ((required-by :initarg :required-by :reader missing-required-by))) - - (defmethod print-object ((c missing-dependency) s) - (format s (compatfmt "~@<~A, required by ~A~@:>") - (call-next-method c nil) (missing-required-by c))) - - (define-condition missing-dependency-of-version (missing-dependency - missing-component-of-version) - ()) - - (defmethod print-object ((c missing-component) s) - (format s (compatfmt "~@<Component ~S not found~@[ in ~A~]~@:>") - (missing-requires c) - (when (missing-parent c) - (coerce-name (missing-parent c))))) - - (defmethod print-object ((c missing-component-of-version) s) - (format s (compatfmt "~@<Component ~S does not match version ~A~@[ in ~A~]~@:>") - (missing-requires c) - (missing-version c) - (when (missing-parent c) - (coerce-name (missing-parent c)))))) - - -;;;; Finding components - -(with-upgradability () - (defgeneric find-component (base path &key registered) - (:documentation "Find a component by resolving the PATH starting from BASE parent. -If REGISTERED is true, only search currently registered systems.")) - (defgeneric resolve-dependency-combination (component combinator arguments) - (:documentation "Return a component satisfying the dependency specification (COMBINATOR . ARGUMENTS) -in the context of COMPONENT")) - - ;; Methods for find-component - - ;; If the base component is a string, resolve it as a system, then if not nil follow the path. - (defmethod find-component ((base string) path &key registered) - (if-let ((s (if registered - (registered-system base) - (find-system base nil)))) - (find-component s path :registered registered))) - - ;; If the base component is a symbol, coerce it to a name if not nil, and resolve that. - ;; If nil, use the path as base if not nil, or else return nil. - (defmethod find-component ((base symbol) path &key registered) - (cond - (base (find-component (coerce-name base) path :registered registered)) - (path (find-component path nil :registered registered)) - (t nil))) - - ;; If the base component is a cons cell, resolve its car, and add its cdr to the path. - (defmethod find-component ((base cons) path &key registered) - (find-component (car base) (cons (cdr base) path) :registered registered)) - - ;; If the base component is a parent-component and the path a string, find the named child. - (defmethod find-component ((parent parent-component) (name string) &key registered) - (declare (ignorable registered)) - (compute-children-by-name parent :only-if-needed-p t) - (values (gethash name (component-children-by-name parent)))) - - ;; If the path is a symbol, coerce it to a name if non-nil, or else just return the base. - (defmethod find-component (base (name symbol) &key registered) - (if name - (find-component base (coerce-name name) :registered registered) - base)) - - ;; If the path is a cons, first resolve its car as path, then its cdr. - (defmethod find-component ((c component) (name cons) &key registered) - (find-component (find-component c (car name) :registered registered) - (cdr name) :registered registered)) - - ;; If the path is a component, return it, disregarding the base. - (defmethod find-component ((base t) (actual component) &key registered) - (declare (ignorable registered)) - actual) - - ;; Resolve dependency NAME in the context of a COMPONENT, with given optional VERSION constraint. - ;; This (private) function is used below by RESOLVE-DEPENDENCY-SPEC and by the :VERSION spec. - (defun resolve-dependency-name (component name &optional version) - (loop - (restart-case - (return - (let ((comp (find-component (component-parent component) name))) - (unless comp - (error 'missing-dependency - :required-by component - :requires name)) - (when version - (unless (version-satisfies comp version) - (error 'missing-dependency-of-version - :required-by component - :version version - :requires name))) - comp)) - (retry () - :report (lambda (s) - (format s (compatfmt "~@<Retry loading ~3i~_~A.~@:>") name)) - :test - (lambda (c) - (or (null c) - (and (typep c 'missing-dependency) - (eq (missing-required-by c) component) - (equal (missing-requires c) name)))) - (unless (component-parent component) - (let ((name (coerce-name name))) - (unset-asdf-cache-entry `(find-system ,name)))))))) - - ;; Resolve dependency specification DEP-SPEC in the context of COMPONENT. - ;; This is notably used by MAP-DIRECT-DEPENDENCIES to process the results of COMPONENT-DEPENDS-ON - ;; and by PARSE-DEFSYSTEM to process DEFSYSTEM-DEPENDS-ON. - (defun resolve-dependency-spec (component dep-spec) - (let ((component (find-component () component))) - (if (atom dep-spec) - (resolve-dependency-name component dep-spec) - (resolve-dependency-combination component (car dep-spec) (cdr dep-spec))))) - - ;; Methods for RESOLVE-DEPENDENCY-COMBINATION to parse lists as dependency specifications. - (defmethod resolve-dependency-combination (component combinator arguments) - (parameter-error (compatfmt "~@<In ~S, bad dependency ~S for ~S~@:>") - 'resolve-dependency-combination (cons combinator arguments) component)) - - (defmethod resolve-dependency-combination (component (combinator (eql :feature)) arguments) - (when (featurep (first arguments)) - (resolve-dependency-spec component (second arguments)))) - - (defmethod resolve-dependency-combination (component (combinator (eql :version)) arguments) - (resolve-dependency-name component (first arguments) (second arguments)))) ;; See lp#527788 - -;;;; ------------------------------------------------------------------------- -;;;; Operations - -(uiop/package:define-package :asdf/operation - (:recycle :asdf/operation :asdf/action :asdf) ;; asdf/action for FEATURE pre 2.31.5. - (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/find-system) - (:export - #:operation - #:*operations* #:make-operation #:find-operation - #:feature)) ;; TODO: stop exporting the deprecated FEATURE feature. -(in-package :asdf/operation) - -;;; Operation Classes -(when-upgrading (:version "2.27" :when (find-class 'operation nil)) - ;; override any obsolete shared-initialize method when upgrading from ASDF2. - (defmethod shared-initialize :after ((o operation) (slot-names t) &key) - (values))) - -(with-upgradability () - (defclass operation () - () - (:documentation "The base class for all ASDF operations. - -ASDF does NOT and never did distinguish between multiple operations of the same class. -Therefore, all slots of all operations MUST have :allocation :class and no initargs. No exceptions. -")) - - (defvar *in-make-operation* nil) - - (defun check-operation-constructor () - "Enforce that OPERATION instances must be created with MAKE-OPERATION." - (unless *in-make-operation* - (sysdef-error "OPERATION instances must only be created through MAKE-OPERATION."))) - - (defmethod print-object ((o operation) stream) - (print-unreadable-object (o stream :type t :identity nil))) - - ;;; Override previous methods (from 3.1.7 and earlier) and add proper error checking. - (defmethod initialize-instance :after ((o operation) &rest initargs &key &allow-other-keys) - (unless (null initargs) - (parameter-error "~S does not accept initargs" 'operation)))) - - -;;; make-operation, find-operation - -(with-upgradability () - ;; A table to memoize instances of a given operation. There shall be only one. - (defparameter* *operations* (make-hash-table :test 'equal)) - - ;; A memoizing way of creating instances of operation. - (defun make-operation (operation-class) - "This function creates and memoizes an instance of OPERATION-CLASS. -All operation instances MUST be created through this function. - -Use of INITARGS is not supported at this time." - (let ((class (coerce-class operation-class - :package :asdf/interface :super 'operation :error 'sysdef-error)) - (*in-make-operation* t)) - (ensure-gethash class *operations* `(make-instance ,class)))) - - ;; This function is mostly for backward and forward compatibility: - ;; operations used to preserve the operation-original-initargs of the context, - ;; and may in the future preserve some operation-canonical-initargs. - ;; Still, the treatment of NIL as a disabling context is useful in some cases. - (defgeneric find-operation (context spec) - (:documentation "Find an operation by resolving the SPEC in the CONTEXT")) - (defmethod find-operation ((context t) (spec operation)) - spec) - (defmethod find-operation ((context t) (spec symbol)) - (when spec ;; NIL designates itself, i.e. absence of operation - (make-operation spec))) ;; TODO: preserve the (operation-canonical-initargs context) - (defmethod find-operation ((context t) (spec string)) - (make-operation spec))) ;; TODO: preserve the (operation-canonical-initargs context) - -;;;; ------------------------------------------------------------------------- -;;;; Actions - -(uiop/package:define-package :asdf/action - (:nicknames :asdf-action) - (:recycle :asdf/action :asdf) - (:use :uiop/common-lisp :uiop :asdf/upgrade - :asdf/component :asdf/system #:asdf/cache :asdf/find-system :asdf/find-component :asdf/operation) - (:import-from :asdf/operation #:check-operation-constructor) - #-clisp (:unintern #:required-components #:traverse-action #:traverse-sub-actions) - (:export - #:action #:define-convenience-action-methods - #:action-description - #:downward-operation #:upward-operation #:sideway-operation #:selfward-operation #:non-propagating-operation - #:component-depends-on - #:input-files #:output-files #:output-file #:operation-done-p - #:action-status #:action-stamp #:action-done-p - #:action-operation #:action-component #:make-action - #:component-operation-time #:mark-operation-done #:compute-action-stamp - #:perform #:perform-with-restarts #:retry #:accept - #:action-path #:find-action #:stamp #:done-p - #:operation-definition-warning #:operation-definition-error ;; condition - )) -(in-package :asdf/action) - -(eval-when (#-lispworks :compile-toplevel :load-toplevel :execute) ;; LispWorks issues spurious warning - - (deftype action () - "A pair of operation and component uniquely identifies a node in the dependency graph -of steps to be performed while building a system." - '(cons operation component)) - - (deftype operation-designator () - "An operation designates itself. NIL designates a context-dependent current operation, -and a class-name or class designates the canonical instance of the designated class." - '(or operation null symbol class))) - -;;; these are pseudo accessors -- let us abstract away the CONS cell representation of plan -;;; actions. -(with-upgradability () - (defun make-action (operation component) - (cons operation component)) - (defun action-operation (action) - (car action)) - (defun action-component (action) - (cdr action))) +;;; these are pseudo accessors -- let us abstract away the CONS cell representation of plan +;;; actions. +(with-upgradability () + (defun make-action (operation component) + (cons operation component)) + (defun action-operation (action) + (car action)) + (defun action-component (action) + (cdr action))) ;;;; Reified representation for storage or debugging. Note: an action is identified by its class. (with-upgradability () (defun action-path (action) "A readable data structure that identifies the action." - (let ((o (action-operation action)) - (c (action-component action))) - (cons (type-of o) (component-find-path c)))) + (when action + (let ((o (action-operation action)) + (c (action-component action))) + (cons (type-of o) (component-find-path c))))) (defun find-action (path) "Reconstitute an action from its action-path" (destructuring-bind (o . c) path (make-action (make-operation o) (find-component () c))))) @@ -9039,7 +8816,7 @@ and a class-name or class designates the canonical instance of the designated cl ,if-no-component)))))))) -;;;; self-description +;;;; Self-description (with-upgradability () (defgeneric action-description (operation component) (:documentation "returns a phrase that describes performing this operation @@ -9057,6 +8834,42 @@ Use it in FORMAT control strings as ~/asdf-action:format-action/" (princ (action-description operation component) stream)))) +;;;; Detection of circular dependencies +(with-upgradability () + (defun (action-valid-p) (operation component) + "Is this action valid to include amongst dependencies?" + ;; If either the operation or component was resolved to nil, the action is invalid. + ;; :if-feature will invalidate actions on components for which the features don't apply. + (and operation component + (if-let (it (component-if-feature component)) (featurep it) t))) + + (define-condition circular-dependency (system-definition-error) + ((actions :initarg :actions :reader circular-dependency-actions)) + (:report (lambda (c s) + (format s (compatfmt "~@<Circular dependency: ~3i~_~S~@:>") + (circular-dependency-actions c))))) + + (defun call-while-visiting-action (operation component fun) + "Detect circular dependencies" + (with-asdf-session () + (with-accessors ((action-set visiting-action-set) + (action-list visiting-action-list)) *asdf-session* + (let ((action (cons operation component))) + (when (gethash action action-set) + (error 'circular-dependency :actions + (member action (reverse action-list) :test 'equal))) + (setf (gethash action action-set) t) + (push action action-list) + (unwind-protect + (funcall fun) + (pop action-list) + (setf (gethash action action-set) nil)))))) + + ;; Syntactic sugar for call-while-visiting-action + (defmacro while-visiting-action ((o c) &body body) + `(call-while-visiting-action ,o ,c #'(lambda () ,@body)))) + + ;;;; Dependencies (with-upgradability () (defgeneric component-depends-on (operation component) ;; ASDF4: rename to component-dependencies @@ -9199,7 +9012,7 @@ The class needs to be updated for ASDF 3.1 and specify appropriate propagation m don't. In the future this functionality will be removed, and the default will be no propagation." (uiop/version::notify-deprecated-function (version-deprecation *asdf-version* :style-warning "3.2") - 'backward-compatible-depends-on) + `(backward-compatible-depends-on :for-operation ,o)) `(,@(sideway-operation-depends-on o c) ,@(when (typep c 'parent-component) (downward-operation-depends-on o c)))) @@ -9271,10 +9084,24 @@ They may rely on the order of the files to discriminate between inputs. (assert (length=n-p files 1)) (first files))) + (defgeneric additional-input-files (operation component) + (:documentation "Additional input files for the operation on this + component. These are files that are inferred, rather than + explicitly specified, and these are typically NOT files that + undergo operations directly. Instead, they are files that it is + important for ASDF to know about in order to compute operation times,etc.")) + (define-convenience-action-methods additional-input-files (operation component)) + (defmethod additional-input-files ((op operation) (comp component)) + (cdr (assoc op (%additional-input-files comp)))) + ;; Memoize input files. (defmethod input-files :around (operation component) (do-asdf-cache `(input-files ,operation ,component) - (call-next-method))) + ;; get the additional input files, if any + (append (call-next-method) + ;; must come after the first, for other code that + ;; assumes the first will be the "key" file + (additional-input-files operation component)))) ;; By default an action has no input-files. (defmethod input-files ((o operation) (c component)) @@ -9307,7 +9134,8 @@ They may rely on the order of the files to discriminate between inputs. Updates the action's COMPONENT-OPERATION-TIME to match the COMPUTE-ACTION-STAMP using the JUST-DONE flag.")) - (defgeneric compute-action-stamp (plan operation component &key just-done) + (defgeneric compute-action-stamp (plan- operation component &key just-done) + ;; NB: using plan- rather than plan above allows clisp to upgrade from 2.26(!) (:documentation "Has this action been successfully done already, and at what known timestamp has it been done at or will it be done at? * PLAN is a plan object modelling future effects of actions, @@ -9323,29 +9151,17 @@ Returns two values: * a boolean DONE-P that indicates whether the action has actually been done, and both its output-files and its in-image side-effects are up to date.")) - (defclass action-status () - ((stamp - :initarg :stamp :reader action-stamp - :documentation "STAMP associated with the ACTION if it has been completed already -in some previous image, or T if it needs to be done.") - (done-p - :initarg :done-p :reader action-done-p - :documentation "a boolean, true iff the action was already done (before any planned action).")) - (:documentation "Status of an action")) - - (defmethod print-object ((status action-status) stream) - (print-unreadable-object (status stream :type t) - (with-slots (stamp done-p) status - (format stream "~@{~S~^ ~}" :stamp stamp :done-p done-p)))) - (defmethod component-operation-time ((o operation) (c component)) (gethash o (component-operation-times c))) (defmethod (setf component-operation-time) (stamp (o operation) (c component)) + (assert stamp () "invalid null stamp for ~A" (action-description o c)) (setf (gethash o (component-operation-times c)) stamp)) (defmethod mark-operation-done ((o operation) (c component)) - (setf (component-operation-time o c) (compute-action-stamp nil o c :just-done t)))) + (let ((stamp (compute-action-stamp nil o c :just-done t))) + (assert stamp () "Failed to compute a stamp for completed action ~A" (action-description o c))1 + (setf (component-operation-time o c) stamp)))) ;;;; Perform @@ -9354,6 +9170,8 @@ in some previous image, or T if it needs to be done.") (:documentation "PERFORM an action, consuming its input-files and building its output-files")) (define-convenience-action-methods perform (operation component)) + (defmethod perform :around ((o operation) (c component)) + (while-visiting-action (o c) (call-next-method))) (defmethod perform :before ((o operation) (c component)) (ensure-all-directories-exist (output-files o c))) (defmethod perform :after ((o operation) (c component)) @@ -9396,9 +9214,8 @@ in some previous image, or T if it needs to be done.") (uiop/package:define-package :asdf/lisp-action (:recycle :asdf/lisp-action :asdf) - (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/cache - :asdf/component :asdf/system :asdf/find-component :asdf/find-system - :asdf/operation :asdf/action) + (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session + :asdf/component :asdf/system :asdf/operation :asdf/action) (:export #:try-recompiling #:cl-source-file #:cl-source-file.cl #:cl-source-file.lsp @@ -9567,7 +9384,7 @@ an OPERATION and a COMPONENT." (defmethod input-files ((o compile-op) (c system)) (when (and *warnings-file-type* (not (builtin-system-p c))) ;; The most correct way to do it would be to use: - ;; (traverse-sub-actions o c :other-systems nil :keep-operation 'compile-op :keep-component 'cl-source-file) + ;; (collect-dependencies o c :other-systems nil :keep-operation 'compile-op :keep-component 'cl-source-file) ;; but it's expensive and we don't care too much about file order or ASDF extensions. (loop :for sub :in (sub-components c :type 'cl-source-file) :nconc (remove-if-not 'warnings-file-p (output-files o sub))))) @@ -9642,113 +9459,190 @@ an OPERATION and a COMPONENT." "Testing a system is _never_ done." nil)) ;;;; ------------------------------------------------------------------------- -;;;; Plan +;;;; Finding components + +(uiop/package:define-package :asdf/find-component + (:recycle :asdf/find-component :asdf/find-system :asdf) + (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session + :asdf/component :asdf/system :asdf/system-registry) + (:export + #:find-component + #:resolve-dependency-name #:resolve-dependency-spec + #:resolve-dependency-combination + ;; Conditions + #:missing-component #:missing-requires #:missing-parent #:missing-component-of-version #:retry + #:missing-dependency #:missing-dependency-of-version + #:missing-requires #:missing-parent + #:missing-required-by #:missing-version)) +(in-package :asdf/find-component) + +;;;; Missing component conditions + +(with-upgradability () + (define-condition missing-component (system-definition-error) + ((requires :initform "(unnamed)" :reader missing-requires :initarg :requires) + (parent :initform nil :reader missing-parent :initarg :parent))) + + (define-condition missing-component-of-version (missing-component) + ((version :initform nil :reader missing-version :initarg :version))) + + (define-condition missing-dependency (missing-component) + ((required-by :initarg :required-by :reader missing-required-by))) + + (defmethod print-object ((c missing-dependency) s) + (format s (compatfmt "~@<~A, required by ~A~@:>") + (call-next-method c nil) (missing-required-by c))) + + (define-condition missing-dependency-of-version (missing-dependency + missing-component-of-version) + ()) + + (defmethod print-object ((c missing-component) s) + (format s (compatfmt "~@<Component ~S not found~@[ in ~A~]~@:>") + (missing-requires c) + (when (missing-parent c) + (coerce-name (missing-parent c))))) + + (defmethod print-object ((c missing-component-of-version) s) + (format s (compatfmt "~@<Component ~S does not match version ~A~@[ in ~A~]~@:>") + (missing-requires c) + (missing-version c) + (when (missing-parent c) + (coerce-name (missing-parent c)))))) + + +;;;; Finding components + +(with-upgradability () + (defgeneric resolve-dependency-combination (component combinator arguments) + (:documentation "Return a component satisfying the dependency specification (COMBINATOR . ARGUMENTS) +in the context of COMPONENT")) + + ;; Methods for find-component + + ;; If the base component is a string, resolve it as a system, then if not nil follow the path. + (defmethod find-component ((base string) path &key registered) + (if-let ((s (if registered + (registered-system base) + (find-system base nil)))) + (find-component s path :registered registered))) + + ;; If the base component is a symbol, coerce it to a name if not nil, and resolve that. + ;; If nil, use the path as base if not nil, or else return nil. + (defmethod find-component ((base symbol) path &key registered) + (cond + (base (find-component (coerce-name base) path :registered registered)) + (path (find-component path nil :registered registered)) + (t nil))) -(uiop/package:define-package :asdf/plan - ;; asdf/action below is needed for required-components, traverse-action and traverse-sub-actions - ;; that used to live there before 3.2.0. - (:recycle :asdf/plan :asdf) - (:use :uiop/common-lisp :uiop :asdf/upgrade - :asdf/component :asdf/operation :asdf/system - :asdf/cache :asdf/find-system :asdf/find-component - :asdf/operation :asdf/action :asdf/lisp-action) - (:export - #:component-operation-time - #:plan #:plan-traversal #:sequential-plan #:*default-plan-class* - #:planned-action-status #:plan-action-status #:action-already-done-p - #:circular-dependency #:circular-dependency-actions - #:needed-in-image-p - #:action-index #:action-planned-p #:action-valid-p - #:plan-record-dependency - #:normalize-forced-systems #:action-forced-p #:action-forced-not-p - #:map-direct-dependencies #:reduce-direct-dependencies #:direct-dependencies - #:compute-action-stamp #:traverse-action - #:circular-dependency #:circular-dependency-actions - #:call-while-visiting-action #:while-visiting-action - #:make-plan #:plan-actions #:perform-plan #:plan-operates-on-p - #:planned-p #:index #:forced #:forced-not #:total-action-count - #:planned-action-count #:planned-output-action-count #:visited-actions - #:visiting-action-set #:visiting-action-list #:plan-actions-r - #:required-components #:filtered-sequential-plan - #:plan-system - #:plan-action-filter #:plan-component-type #:plan-keep-operation #:plan-keep-component - #:traverse-actions #:traverse-sub-actions)) -(in-package :asdf/plan) + ;; If the base component is a cons cell, resolve its car, and add its cdr to the path. + (defmethod find-component ((base cons) path &key registered) + (find-component (car base) (cons (cdr base) path) :registered registered)) -;;;; Generic plan traversal class -(with-upgradability () - (defclass plan () () - (:documentation "Base class for a plan based on which ASDF can build a system")) - (defclass plan-traversal (plan) - (;; The system for which the plan is computed - (system :initform nil :initarg :system :accessor plan-system) - ;; Table of systems specified via :force arguments - (forced :initform nil :initarg :force :accessor plan-forced) - ;; Table of systems specified via :force-not argument (and/or immutable) - (forced-not :initform nil :initarg :force-not :accessor plan-forced-not) - ;; Counts of total actions in plan - (total-action-count :initform 0 :accessor plan-total-action-count) - ;; Count of actions that need to be performed - (planned-action-count :initform 0 :accessor plan-planned-action-count) - ;; Count of actions that need to be performed that have a non-empty list of output-files. - (planned-output-action-count :initform 0 :accessor plan-planned-output-action-count) - ;; Table that to actions already visited while walking the dependencies associates status - (visited-actions :initform (make-hash-table :test 'equal) :accessor plan-visited-actions) - ;; Actions that depend on those being currently walked through, to detect circularities - (visiting-action-set ;; as a set - :initform (make-hash-table :test 'equal) :accessor plan-visiting-action-set) - (visiting-action-list :initform () :accessor plan-visiting-action-list)) ;; as a list - (:documentation "Base class for plans that simply traverse dependencies"))) + ;; If the base component is a parent-component and the path a string, find the named child. + (defmethod find-component ((parent parent-component) (name string) &key registered) + (declare (ignorable registered)) + (compute-children-by-name parent :only-if-needed-p t) + (values (gethash name (component-children-by-name parent)))) + ;; If the path is a symbol, coerce it to a name if non-nil, or else just return the base. + (defmethod find-component (base (name symbol) &key registered) + (if name + (find-component base (coerce-name name) :registered registered) + base)) -;;;; Planned action status -(with-upgradability () - (defgeneric plan-action-status (plan operation component) - (:documentation "Returns the ACTION-STATUS associated to -the action of OPERATION on COMPONENT in the PLAN")) + ;; If the path is a cons, first resolve its car as path, then its cdr. + (defmethod find-component ((c component) (name cons) &key registered) + (find-component (find-component c (car name) :registered registered) + (cdr name) :registered registered)) - (defgeneric (setf plan-action-status) (new-status plan operation component) - (:documentation "Sets the ACTION-STATUS associated to -the action of OPERATION on COMPONENT in the PLAN")) + ;; If the path is a component, return it, disregarding the base. + (defmethod find-component ((base t) (actual component) &key registered) + (declare (ignorable registered)) + actual) - (defclass planned-action-status (action-status) - ((planned-p - :initarg :planned-p :reader action-planned-p - :documentation "a boolean, true iff the action was included in the plan.") - (index - :initarg :index :reader action-index - :documentation "an integer, counting all traversed actions in traversal order.")) - (:documentation "Status of an action in a plan")) + ;; Resolve dependency NAME in the context of a COMPONENT, with given optional VERSION constraint. + ;; This (private) function is used below by RESOLVE-DEPENDENCY-SPEC and by the :VERSION spec. + (defun resolve-dependency-name (component name &optional version) + (loop + (restart-case + (return + (let ((comp (find-component (component-parent component) name))) + (unless comp + (error 'missing-dependency + :required-by component + :requires name)) + (when version + (unless (version-satisfies comp version) + (error 'missing-dependency-of-version + :required-by component + :version version + :requires name))) + comp)) + (retry () + :report (lambda (s) + (format s (compatfmt "~@<Retry loading ~3i~_~A.~@:>") name)) + :test + (lambda (c) + (or (null c) + (and (typep c 'missing-dependency) + (eq (missing-required-by c) component) + (equal (missing-requires c) name)))) + (unless (component-parent component) + (let ((name (coerce-name name))) + (unset-asdf-cache-entry `(find-system ,name)))))))) - (defmethod print-object ((status planned-action-status) stream) - (print-unreadable-object (status stream :type t :identity nil) - (with-slots (stamp done-p planned-p index) status - (format stream "~@{~S~^ ~}" :stamp stamp :done-p done-p :planned-p planned-p :index index)))) + ;; Resolve dependency specification DEP-SPEC in the context of COMPONENT. + ;; This is notably used by MAP-DIRECT-DEPENDENCIES to process the results of COMPONENT-DEPENDS-ON + ;; and by PARSE-DEFSYSTEM to process DEFSYSTEM-DEPENDS-ON. + (defun resolve-dependency-spec (component dep-spec) + (let ((component (find-component () component))) + (if (atom dep-spec) + (resolve-dependency-name component dep-spec) + (resolve-dependency-combination component (car dep-spec) (cdr dep-spec))))) - (defmethod action-planned-p ((action-status t)) - t) ; default method for non planned-action-status objects + ;; Methods for RESOLVE-DEPENDENCY-COMBINATION to parse lists as dependency specifications. + (defmethod resolve-dependency-combination (component combinator arguments) + (parameter-error (compatfmt "~@<In ~S, bad dependency ~S for ~S~@:>") + 'resolve-dependency-combination (cons combinator arguments) component)) - (defun action-already-done-p (plan operation component) - "According to this plan, is this action already done and up to date?" - (action-done-p (plan-action-status plan operation component))) + (defmethod resolve-dependency-combination (component (combinator (eql :feature)) arguments) + (when (featurep (first arguments)) + (resolve-dependency-spec component (second arguments)))) - (defmethod plan-action-status ((plan null) (o operation) (c component)) - (multiple-value-bind (stamp done-p) (component-operation-time o c) - (make-instance 'action-status :stamp stamp :done-p done-p))) + (defmethod resolve-dependency-combination (component (combinator (eql :version)) arguments) + (resolve-dependency-name component (first arguments) (second arguments)))) ;; See lp#527788 - (defmethod (setf plan-action-status) (new-status (plan null) (o operation) (c component)) - (let ((times (component-operation-times c))) - (if (action-done-p new-status) - (remhash o times) - (setf (gethash o times) (action-stamp new-status)))) - new-status)) +;;;; ------------------------------------------------------------------------- +;;;; Forcing +(uiop/package:define-package :asdf/forcing + (:recycle :asdf/forcing :asdf/plan :asdf) + (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session + :asdf/component :asdf/operation :asdf/system :asdf/system-registry) + (:export + #:forcing #:make-forcing #:forced #:forced-not #:performable-p + #:normalize-forced-systems #:normalize-forced-not-systems + #:action-forced-p #:action-forced-not-p)) +(in-package :asdf/forcing) + +;;;; Forcing +(with-upgradability () + (defclass forcing () + (;; Can plans using this forcing be PERFORMed? A plan that has different force and force-not + ;; settings than the session can only be used for read-only queries that do not cause the + ;; status of any action to be raised. + (performable-p :initform nil :initarg :performable-p :reader performable-p) + ;; Parameters + (parameters :initform nil :initarg :parameters :reader parameters) + ;; Table of systems specified via :force arguments + (forced :initarg :forced :reader forced) + ;; Table of systems specified via :force-not argument (and/or immutable) + (forced-not :initarg :forced-not :reader forced-not))) -;;;; forcing -(with-upgradability () - (defgeneric action-forced-p (plan operation component) + (defgeneric action-forced-p (forcing operation component) (:documentation "Is this action forced to happen in this plan?")) - (defgeneric action-forced-not-p (plan operation component) + (defgeneric action-forced-not-p (forcing operation component) (:documentation "Is this action forced to not happen in this plan? Takes precedence over action-forced-p.")) @@ -9778,48 +9672,285 @@ or predicate on system names, or NIL if none are forced, or :ALL if all are." (or *immutable-systems* requested)))) ;; TODO: shouldn't we be looking up the primary system name, rather than the system name? - (defun action-override-p (plan operation component override-accessor) - "Given a plan, an action, and a function that given the plan accesses a set of overrides -(i.e. force or force-not), see if the override applies to the current action." + (defun action-override-p (forcing operation component override-accessor) + "Given a plan, an action, and a function that given the plan accesses a set of overrides, +i.e. force or force-not, see if the override applies to the current action." (declare (ignore operation)) - (call-function (funcall override-accessor plan) + (call-function (funcall override-accessor forcing) (coerce-name (component-system (find-component () component))))) - (defmethod action-forced-p (plan operation component) + (defmethod action-forced-p (forcing operation component) (and ;; Did the user ask us to re-perform the action? - (action-override-p plan operation component 'plan-forced) - ;; You really can't force a builtin system and :all doesn't apply to it, - ;; except if it's the specifically the system currently being built. - (not (let ((system (component-system component))) - (and (builtin-system-p system) - (not (eq system (plan-system plan)))))))) - - (defmethod action-forced-not-p (plan operation component) + (action-override-p forcing operation component 'forced) + ;; You really can't force a builtin system and :all doesn't apply to it. + (not (builtin-system-p (component-system component))))) + + (defmethod action-forced-not-p (forcing operation component) ;; Did the user ask us to not re-perform the action? ;; NB: force-not takes precedence over force, as it should - (action-override-p plan operation component 'plan-forced-not)) + (action-override-p forcing operation component 'forced-not)) - (defmethod action-forced-p ((plan null) (operation operation) (component component)) + ;; Null forcing means no forcing either way + (defmethod action-forced-p ((forcing null) (operation operation) (component component)) + nil) + (defmethod action-forced-not-p ((forcing null) (operation operation) (component component)) nil) - (defmethod action-forced-not-p ((plan null) (operation operation) (component component)) - nil)) + (defun or-function (fun1 fun2) + (cond + ((or (null fun2) (eq fun1 :all)) fun1) + ((or (null fun1) (eq fun2 :all)) fun2) + (t #'(lambda (x) (or (call-function fun1 x) (call-function fun2 x)))))) + + (defun make-forcing (&key performable-p system + (force nil force-p) (force-not nil force-not-p) &allow-other-keys) + (let* ((session-forcing (when *asdf-session* (forcing *asdf-session*))) + (system (and system (coerce-name system))) + (forced (normalize-forced-systems force system)) + (forced-not (normalize-forced-not-systems force-not system)) + (parameters `(,@(when force `(:force ,force)) + ,@(when force-not `(:force-not ,force-not)) + ,@(when (or (eq force t) (eq force-not t)) `(:system ,system)) + ,@(when performable-p `(:performable-p t)))) + forcing) + (cond + ((not session-forcing) + (setf forcing (make-instance 'forcing + :performable-p performable-p :parameters parameters + :forced forced :forced-not forced-not)) + (when (and performable-p *asdf-session*) + (setf (forcing *asdf-session*) forcing))) + (performable-p + (when (and (not (equal parameters (parameters session-forcing))) + (or force-p force-not-p)) + (parameter-error "~*~S and ~S arguments not allowed in a nested call to ~3:*~S ~ +unless identically to toplevel" + (find-symbol* :operate :asdf) :force :force-not)) + (setf forcing session-forcing)) + (t + (setf forcing (make-instance 'forcing + ;; Combine force and force-not with values from the toplevel-plan + :parameters `(,@parameters :on-top-of ,(parameters session-forcing)) + :forced (or-function (forced session-forcing) forced) + :forced-not (or-function (forced-not session-forcing) forced-not))))) + forcing)) + + (defmethod print-object ((forcing forcing) stream) + (print-unreadable-object (forcing stream :type t) + (format stream "~{~S~^ ~}" (parameters forcing)))) + + ;; During upgrade, the *asdf-session* may legitimately be NIL, so we must handle that case. + (defmethod forcing ((x null)) + (if-let (session (toplevel-asdf-session)) + (forcing session) + (make-forcing :performable-p t))) + + ;; When performing a plan that is a list of actions, use the toplevel asdf sesssion forcing. + (defmethod forcing ((x cons)) (forcing (toplevel-asdf-session)))) +;;;; ------------------------------------------------------------------------- +;;;; Plan + +(uiop/package:define-package :asdf/plan + ;; asdf/action below is needed for required-components, traverse-action and traverse-sub-actions + ;; that used to live there before 3.2.0. + (:recycle :asdf/plan :asdf/action :asdf) + (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session + :asdf/component :asdf/operation :asdf/action :asdf/lisp-action + :asdf/system :asdf/system-registry :asdf/find-component :asdf/forcing) + (:export + #:plan #:plan-traversal #:sequential-plan #:*plan-class* + #:action-status #:status-stamp #:status-index #:status-done-p #:status-keep-p #:status-need-p + #:action-already-done-p + #:+status-good+ #:+status-todo+ #:+status-void+ + #:system-out-of-date #:action-up-to-date-p + #:circular-dependency #:circular-dependency-actions + #:needed-in-image-p + #:map-direct-dependencies #:reduce-direct-dependencies #:direct-dependencies + #:compute-action-stamp #:traverse-action #:record-dependency + #:make-plan #:plan-actions #:plan-actions-r #:perform-plan #:mark-as-done + #:required-components #:filtered-sequential-plan + #:plan-component-type #:plan-keep-operation #:plan-keep-component)) +(in-package :asdf/plan) +;;;; Generic plan traversal class +(with-upgradability () + (defclass plan () () + (:documentation "Base class for a plan based on which ASDF can build a system")) + (defclass plan-traversal (plan) + (;; The forcing parameters for this plan. Also indicates whether the plan is performable, + ;; in which case the forcing is the same as for the entire session. + (forcing :initform (forcing (toplevel-asdf-session)) :initarg :forcing :reader forcing)) + (:documentation "Base class for plans that simply traverse dependencies")) + ;; Sequential plans (the default) + (defclass sequential-plan (plan-traversal) + ((actions-r :initform nil :accessor plan-actions-r)) + (:documentation "Simplest, default plan class, accumulating a sequence of actions")) + + (defgeneric plan-actions (plan) + (:documentation "Extract from a plan a list of actions to perform in sequence")) + (defmethod plan-actions ((plan list)) + plan) + (defmethod plan-actions ((plan sequential-plan)) + (reverse (plan-actions-r plan))) + + (defgeneric record-dependency (plan operation component) + (:documentation "Record an action as a dependency in the current plan")) -;;;; action-valid-p + ;; No need to record a dependency to build a full graph, just accumulate nodes in order. + (defmethod record-dependency ((plan sequential-plan) (o operation) (c component)) + (values))) + +(when-upgrading (:version "3.2.1") + (defmethod initialize-instance :after ((plan plan-traversal) &key &allow-other-keys))) + + +;;;; Planned action status (with-upgradability () - (defgeneric action-valid-p (plan operation component) - (:documentation "Is this action valid to include amongst dependencies?")) - ;; :if-feature will invalidate actions on components for which the features don't apply. - (defmethod action-valid-p ((plan t) (o operation) (c component)) - (if-let (it (component-if-feature c)) (featurep it) t)) - ;; If either the operation or component was resolved to nil, the action is invalid. - (defmethod action-valid-p ((plan t) (o null) (c t)) nil) - (defmethod action-valid-p ((plan t) (o t) (c null)) nil) - ;; If the plan is null, i.e., we're looking at reality, - ;; then any action with actual operation and component objects is valid. - (defmethod action-valid-p ((plan null) (o operation) (c component)) t)) + (defclass action-status () + ((bits + :type fixnum :initarg :bits :reader status-bits + :documentation "bitmap describing the status of the action.") + (stamp + :type (or integer boolean) :initarg :stamp :reader status-stamp + :documentation "STAMP associated with the ACTION if it has been completed already in some +previous session or image, T if it was done and builtin the image, or NIL if it needs to be done.") + (level + :type fixnum :initarg :level :initform 0 :reader status-level + :documentation "the highest (operate-level) at which the action was needed") + (index + :type (or integer null) :initarg :index :initform nil :reader status-index + :documentation "INDEX associated with the ACTION in the current session, +or NIL if no the status is considered outside of a specific plan.")) + (:documentation "Status of an action in a plan")) + + ;; STAMP KEEP-P DONE-P NEED-P symbol bitmap previously currently + ;; not-nil T T T => GOOD 7 up-to-date done (e.g. file previously loaded) + ;; not-nil T T NIL => HERE 6 up-to-date unplanned yet done + ;; not-nil T NIL T => REDO 5 up-to-date planned (e.g. file to load) + ;; not-nil T NIL NIL => SKIP 4 up-to-date unplanned (e.g. file compiled) + ;; not-nil NIL T T => DONE 3 out-of-date done + ;; not-nil NIL T NIL => WHAT 2 out-of-date unplanned yet done(?) + ;; NIL NIL NIL T => TODO 1 out-of-date planned + ;; NIL NIL NIL NIL => VOID 0 out-of-date unplanned + ;; + ;; Note that a VOID status cannot happen as part of a transitive dependency of a wanted node + ;; while traversing a node with TRAVERSE-ACTION; it can only happen while checking whether an + ;; action is up-to-date with ACTION-UP-TO-DATE-P. + ;; + ;; When calling TRAVERSE-ACTION, the +need-bit+ is set, + ;; unless the action is up-to-date and not needed-in-image (HERE, SKIP). + ;; When PERFORMing an action, the +done-bit+ is set. + ;; When the +need-bit+ is set but not the +done-bit+, the level slot indicates which level of + ;; OPERATE it was last marked needed for; if it happens to be needed at a higher-level, then + ;; its urgency (and that of its transitive dependencies) must be escalated so that it will be + ;; done before the end of this level of operate. + ;; + ;; Also, when no ACTION-STATUS is associated to an action yet, NIL serves as a bottom value. + ;; + (defparameter +keep-bit+ 4) + (defparameter +done-bit+ 2) + (defparameter +need-bit+ 1) + (defparameter +good-bits+ 7) + (defparameter +todo-bits+ 1) + (defparameter +void-bits+ 0) + + (defparameter +status-good+ + (make-instance 'action-status :bits +good-bits+ :stamp t)) + (defparameter +status-todo+ + (make-instance 'action-status :bits +todo-bits+ :stamp nil)) + (defparameter +status-void+ + (make-instance 'action-status :bits +void-bits+ :stamp nil))) + +(with-upgradability () + (defun make-action-status (&key bits stamp (level 0) index) + (check-type bits (integer 0 7)) + (check-type stamp (or integer boolean)) + (check-type level (integer 0 #.most-positive-fixnum)) + (check-type index (or integer null)) + (assert (eq (null stamp) (zerop (logand bits #.(logior +keep-bit+ +done-bit+)))) () + "Bad action-status :bits ~S :stamp ~S" bits stamp) + (block nil + (when (and (null index) (zerop level)) + (case bits + (#.+void-bits+ (return +status-void+)) + (#.+todo-bits+ (return +status-todo+)) + (#.+good-bits+ (when (eq stamp t) (return +status-good+))))) + (make-instance 'action-status :bits bits :stamp stamp :level level :index index))) + + (defun status-keep-p (status) + (plusp (logand (status-bits status) #.+keep-bit+))) + (defun status-done-p (status) + (plusp (logand (status-bits status) #.+done-bit+))) + (defun status-need-p (status) + (plusp (logand (status-bits status) #.+need-bit+))) + + (defun merge-action-status (status1 status2) ;; status-and + "Return the earliest status later than both status1 and status2" + (make-action-status + :bits (logand (status-bits status1) (status-bits status2)) + :stamp (latest-stamp (status-stamp status1) (status-stamp status2)) + :level (min (status-level status1) (status-level status2)) + :index (or (status-index status1) (status-index status2)))) + + (defun mark-status-needed (status &optional (level (operate-level))) ;; limited status-or + "Return the same status but with the need bit set, for the given level" + (if (and (status-need-p status) + (>= (status-level status) level)) + status + (make-action-status + :bits (logior (status-bits status) +need-bit+) + :level (max level (status-level status)) + :stamp (status-stamp status) + :index (status-index status)))) + + (defmethod print-object ((status action-status) stream) + (print-unreadable-object (status stream :type t) + (with-slots (bits stamp level index) status + (format stream "~{~S~^ ~}" `(:bits ,bits :stamp ,stamp :level ,level :index ,index))))) + + (defgeneric action-status (plan operation component) + (:documentation "Returns the ACTION-STATUS associated to the action of OPERATION on COMPONENT +in the PLAN, or NIL if the action wasn't visited yet as part of the PLAN.")) + + (defgeneric (setf action-status) (new-status plan operation component) + (:documentation "Sets the ACTION-STATUS associated to +the action of OPERATION on COMPONENT in the PLAN")) + + (defmethod action-status ((plan null) (o operation) (c component)) + (multiple-value-bind (stamp done-p) (component-operation-time o c) + (if done-p + (make-action-status :bits #.+keep-bit+ :stamp stamp) + +status-void+))) + + (defmethod (setf action-status) (new-status (plan null) (o operation) (c component)) + (let ((times (component-operation-times c))) + (if (status-done-p new-status) + (setf (gethash o times) (status-stamp new-status)) + (remhash o times))) + new-status) + + ;; Handle FORCED-NOT: it makes an action return its current timestamp as status + (defmethod action-status ((p plan) (o operation) (c component)) + ;; TODO: should we instead test something like: + ;; (action-forced-not-p plan operation (primary-system component)) + (or (gethash (make-action o c) (visited-actions *asdf-session*)) + (when (action-forced-not-p (forcing p) o c) + (let ((status (action-status nil o c))) + (setf (gethash (make-action o c) (visited-actions *asdf-session*)) + (make-action-status + :bits +good-bits+ + :stamp (or (and status (status-stamp status)) t) + :index (incf (total-action-count *asdf-session*)))))))) + + (defmethod (setf action-status) (new-status (p plan) (o operation) (c component)) + (setf (gethash (make-action o c) (visited-actions *asdf-session*)) new-status)) + + (defmethod (setf action-status) :after + (new-status (p sequential-plan) (o operation) (c component)) + (unless (status-done-p new-status) + (push (make-action o c) (plan-actions-r p))))) + ;;;; Is the action needed in this image? (with-upgradability () @@ -9837,29 +9968,28 @@ to be meaningful, or could it just as well have been done in another Lisp image? ;;;; Visiting dependencies of an action and computing action stamps (with-upgradability () - (defun* (map-direct-dependencies) (plan operation component fun) + (defun* (map-direct-dependencies) (operation component fun) "Call FUN on all the valid dependencies of the given action in the given plan" (loop* :for (dep-o-spec . dep-c-specs) :in (component-depends-on operation component) - :for dep-o = (find-operation operation dep-o-spec) - :when dep-o - :do (loop :for dep-c-spec :in dep-c-specs - :for dep-c = (and dep-c-spec (resolve-dependency-spec component dep-c-spec)) - :when (and dep-c (action-valid-p plan dep-o dep-c)) - :do (funcall fun dep-o dep-c)))) - - (defun* (reduce-direct-dependencies) (plan operation component combinator seed) + :for dep-o = (find-operation operation dep-o-spec) + :when dep-o + :do (loop :for dep-c-spec :in dep-c-specs + :for dep-c = (and dep-c-spec (resolve-dependency-spec component dep-c-spec)) + :when (action-valid-p dep-o dep-c) + :do (funcall fun dep-o dep-c)))) + + (defun* (reduce-direct-dependencies) (operation component combinator seed) "Reduce the direct dependencies to a value computed by iteratively calling COMBINATOR for each dependency action on the dependency's operation and component and an accumulator initialized with SEED." (map-direct-dependencies - plan operation component - #'(lambda (dep-o dep-c) - (setf seed (funcall combinator dep-o dep-c seed)))) + operation component + #'(lambda (dep-o dep-c) (setf seed (funcall combinator dep-o dep-c seed)))) seed) - (defun* (direct-dependencies) (plan operation component) + (defun* (direct-dependencies) (operation component) "Compute a list of the direct dependencies of the action within the plan" - (reverse (reduce-direct-dependencies plan operation component #'acons nil))) + (reverse (reduce-direct-dependencies operation component #'acons nil))) ;; In a distant future, get-file-stamp, component-operation-time and latest-stamp ;; shall also be parametrized by the plan, or by a second model object, @@ -9872,256 +10002,205 @@ initialized with SEED." ;; or if it has just been done, return the time that it has. ;; Returns two values: ;; 1- the TIMESTAMP of the action if it has already been done and is up to date, - ;; or T is either hasn't been done or is out of date. + ;; or NIL is either hasn't been done or is out of date. + ;; (An ASDF extension could use a cryptographic digest instead.) ;; 2- the DONE-IN-IMAGE-P boolean flag that is T if the action has already been done ;; in the current image, or NIL if it hasn't. ;; Note that if e.g. LOAD-OP only depends on up-to-date files, but - ;; hasn't been done in the current image yet, then it can have a non-T timestamp, + ;; hasn't been done in the current image yet, then it can have a non-NIL timestamp, ;; yet a NIL done-in-image-p flag: we can predict what timestamp it will have once loaded, ;; i.e. that of the input-files. + ;; If just-done is NIL, these values return are the notional fields of + ;; a KEEP, REDO or TODO status (VOID is possible, but probably an error). + ;; If just-done is T, they are the notional fields of DONE status + ;; (or, if something went wrong, TODO). (nest (block ()) - (let ((dep-stamp ; collect timestamp from dependencies (or T if forced or out-of-date) + (let* ((dep-status ; collect timestamp from dependencies (or T if forced or out-of-date) (reduce-direct-dependencies - plan o c - #'(lambda (o c stamp) - (if-let (it (plan-action-status plan o c)) - (latest-stamp stamp (action-stamp it)) - t)) - nil))) - ;; out-of-date dependency: don't bother expensively querying the filesystem - (when (and (eq dep-stamp t) (not just-done)) (return (values t nil)))) - ;; collect timestamps from inputs, and exit early if any is missing - (let* ((in-files (input-files o c)) + o c + #'(lambda (do dc status) + ;; out-of-date dependency: don't bother looking further + (let ((action-status (action-status plan do dc))) + (cond + ((and action-status (or (status-keep-p action-status) + (and just-done (status-stamp action-status)))) + (merge-action-status action-status status)) + (just-done + ;; It's OK to lose some ASDF action stamps during self-upgrade + (unless (equal "asdf" (primary-system-name dc)) + (warn "Computing just-done stamp in plan ~S for action ~S, but dependency ~S wasn't done yet!" + plan + (action-path (make-action o c)) + (action-path (make-action do dc)))) + status) + (t + (return (values nil nil)))))) + +status-good+)) + (dep-stamp (status-stamp dep-status)))) + (let* (;; collect timestamps from inputs, and exit early if any is missing + (in-files (input-files o c)) (in-stamps (mapcar #'get-file-stamp in-files)) (missing-in (loop :for f :in in-files :for s :in in-stamps :unless s :collect f)) (latest-in (stamps-latest (cons dep-stamp in-stamps)))) - (when (and missing-in (not just-done)) (return (values t nil)))) - ;; collect timestamps from outputs, and exit early if any is missing - (let* ((out-files (remove-if 'null (output-files o c))) + (when (and missing-in (not just-done)) (return (values nil nil)))) + (let* (;; collect timestamps from outputs, and exit early if any is missing + (out-files (remove-if 'null (output-files o c))) (out-stamps (mapcar (if just-done 'register-file-stamp 'get-file-stamp) out-files)) (missing-out (loop :for f :in out-files :for s :in out-stamps :unless s :collect f)) (earliest-out (stamps-earliest out-stamps))) - (when (and missing-out (not just-done)) (return (values t nil)))) - (let* (;; There are three kinds of actions: - (out-op (and out-files t)) ; those that create files on the filesystem - ;;(image-op (and in-files (null out-files))) ; those that load stuff into the image - ;;(null-op (and (null out-files) (null in-files))) ; placeholders that do nothing - ;; When was the thing last actually done? (Now, or ask.) - (op-time (or just-done (component-operation-time o c))) - ;; Time stamps from the files at hand, and whether any is missing - (all-present (not (or missing-in missing-out))) - ;; Has any input changed since we last generated the files? - (up-to-date-p (stamp<= latest-in earliest-out)) - ;; If everything is up to date, the latest of inputs and outputs is our stamp - (done-stamp (stamps-latest (cons latest-in out-stamps)))) + (when (and missing-out (not just-done)) (return (values nil nil)))) + (let (;; Time stamps from the files at hand, and whether any is missing + (all-present (not (or missing-in missing-out))) + ;; Has any input changed since we last generated the files? + ;; Note that we use stamp<= instead of stamp< to play nice with generated files. + ;; Any race condition is intrinsic to the limited timestamp resolution. + (up-to-date-p (stamp<= latest-in earliest-out)) + ;; If everything is up to date, the latest of inputs and outputs is our stamp + (done-stamp (stamps-latest (cons latest-in out-stamps)))) ;; Warn if some files are missing: ;; either our model is wrong or some other process is messing with our files. (when (and just-done (not all-present)) + ;; Shouldn't that be an error instead? (warn "~A completed without ~:[~*~;~*its input file~:p~2:*~{ ~S~}~*~]~ ~:[~; or ~]~:[~*~;~*its output file~:p~2:*~{ ~S~}~*~]" (action-description o c) missing-in (length missing-in) (and missing-in missing-out) missing-out (length missing-out)))) - ;; Note that we use stamp<= instead of stamp< to play nice with generated files. - ;; Any race condition is intrinsic to the limited timestamp resolution. + (let (;; There are three kinds of actions: + (out-op (and out-files t)) ; those that create files on the filesystem + ;;(image-op (and in-files (null out-files))) ; those that load stuff into the image + ;;(null-op (and (null out-files) (null in-files))) ; placeholders that do nothing + )) (if (or just-done ;; The done-stamp is valid: if we're just done, or - ;; if all filesystem effects are up-to-date and there's no invalidating reason. - (and all-present up-to-date-p (operation-done-p o c) (not (action-forced-p plan o c)))) + (and all-present ;; if all filesystem effects are up-to-date + up-to-date-p + (operation-done-p o c) ;; and there's no invalidating reason. + (not (action-forced-p (forcing (or plan *asdf-session*)) o c)))) (values done-stamp ;; return the hard-earned timestamp (or just-done - out-op ;; a file-creating op is done when all files are up to date - ;; a image-effecting a placeholder op is done when it was actually run, - (and op-time (eql op-time done-stamp)))) ;; with the matching stamp + out-op ;; A file-creating op is done when all files are up to date. + ;; An image-effecting operation is done when + (and (status-done-p dep-status) ;; all the dependencies were done, and + (multiple-value-bind (perform-stamp perform-done-p) + (component-operation-time o c) + (and perform-done-p ;; the op was actually run, + (equal perform-stamp done-stamp)))))) ;; with a matching stamp. ;; done-stamp invalid: return a timestamp in an indefinite future, action not done yet - (values t nil))))) - + (values nil nil))))) -;;;; Generic support for plan-traversal -(with-upgradability () - (defmethod initialize-instance :after ((plan plan-traversal) - &key force force-not system - &allow-other-keys) - (with-slots (forced forced-not) plan - (setf forced (normalize-forced-systems force system)) - (setf forced-not (normalize-forced-not-systems force-not system)))) - - (defgeneric plan-actions (plan) - (:documentation "Extract from a plan a list of actions to perform in sequence")) - (defmethod plan-actions ((plan list)) - plan) - - (defmethod (setf plan-action-status) (new-status (p plan-traversal) (o operation) (c component)) - (setf (gethash (cons o c) (plan-visited-actions p)) new-status)) - - (defmethod plan-action-status ((p plan-traversal) (o operation) (c component)) - (or (and (action-forced-not-p p o c) (plan-action-status nil o c)) - (values (gethash (cons o c) (plan-visited-actions p))))) - (defmethod action-valid-p ((p plan-traversal) (o operation) (s system)) - (and (not (action-forced-not-p p o s)) (call-next-method))) - - (defgeneric plan-record-dependency (plan operation component) - (:documentation "Record an action as a dependency in the current plan"))) - - -;;;; Detection of circular dependencies +;;;; The four different actual traversals: +;; * TRAVERSE-ACTION o c T: Ensure all dependencies are either up-to-date in-image, or planned +;; * TRAVERSE-ACTION o c NIL: Ensure all dependencies are up-to-date or planned, in-image or not +;; * ACTION-UP-TO-DATE-P: Check whether some (defsystem-depends-on ?) dependencies are up to date +;; * COLLECT-ACTION-DEPENDENCIES: Get the dependencies (filtered), don't change any status (with-upgradability () - (define-condition circular-dependency (system-definition-error) - ((actions :initarg :actions :reader circular-dependency-actions)) - (:report (lambda (c s) - (format s (compatfmt "~@<Circular dependency: ~3i~_~S~@:>") - (circular-dependency-actions c))))) - - (defgeneric call-while-visiting-action (plan operation component function) - (:documentation "Detect circular dependencies")) - - (defmethod call-while-visiting-action ((plan plan-traversal) operation component fun) - (with-accessors ((action-set plan-visiting-action-set) - (action-list plan-visiting-action-list)) plan - (let ((action (make-action operation component))) - (when (gethash action action-set) - (error 'circular-dependency :actions - (member action (reverse action-list) :test 'equal))) - (setf (gethash action action-set) t) - (push action action-list) - (unwind-protect - (funcall fun) - (pop action-list) - (setf (gethash action action-set) nil))))) - - ;; Syntactic sugar for call-while-visiting-action - (defmacro while-visiting-action ((p o c) &body body) - `(call-while-visiting-action ,p ,o ,c #'(lambda () ,@body)))) - -;;;; Actual traversal: traverse-action -(with-upgradability () - (defgeneric traverse-action (plan operation component needed-in-image-p)) + ;; Compute the action status for a newly visited action. + (defun compute-action-status (plan operation component need-p) + (multiple-value-bind (stamp done-p) + (compute-action-stamp plan operation component) + (assert (or stamp (not done-p))) + (make-action-status + :bits (logior (if stamp #.+keep-bit+ 0) + (if done-p #.+done-bit+ 0) + (if need-p #.+need-bit+ 0)) + :stamp stamp + :level (operate-level) + :index (incf (total-action-count *asdf-session*))))) ;; TRAVERSE-ACTION, in the context of a given PLAN object that accumulates dependency data, ;; visits the action defined by its OPERATION and COMPONENT arguments, ;; and all its transitive dependencies (unless already visited), ;; in the context of the action being (or not) NEEDED-IN-IMAGE-P, ;; i.e. needs to be done in the current image vs merely have been done in a previous image. - ;; For actions that are up-to-date, it returns a STAMP identifying the state of the action - ;; (that's timestamp, but it could be a cryptographic digest in some ASDF extension), - ;; or T if the action needs to be done again. + ;; + ;; TRAVERSE-ACTION updates the VISITED-ACTIONS entries for the action and for all its + ;; transitive dependencies (that haven't been sufficiently visited so far). + ;; It does not return any usable value. ;; ;; Note that for an XCVB-like plan with one-image-per-file-outputting-action, ;; the below method would be insufficient, since it assumes a single image ;; to traverse each node at most twice; non-niip actions would be traversed only once, ;; but niip nodes could be traversed once per image, i.e. once plus once per non-niip action. - (defmethod traverse-action (plan operation component needed-in-image-p) + (defun traverse-action (plan operation component needed-in-image-p) (block nil - ;; ACTION-VALID-P among other things, handles forcing logic, including FORCE-NOT, - ;; and IF-FEATURE filtering. - (unless (action-valid-p plan operation component) (return nil)) - ;; the following hook is needed by POIU, which tracks a full dependency graph, - ;; instead of just a dependency order as in vanilla ASDF - (plan-record-dependency plan operation component) - ;; needed in image distinguishes b/w things that must happen in the - ;; current image and those things that simply need to have been done in a previous one. - (let* ((aniip (needed-in-image-p operation component)) ; action-specific needed-in-image - ;; effective niip: meaningful for the action and required by the plan as traversed - (eniip (and aniip needed-in-image-p)) - ;; status: have we traversed that action previously, and if so what was its status? - (status (plan-action-status plan operation component))) - (when (and status (or (action-done-p status) (action-planned-p status) (not eniip))) - (return (action-stamp status))) ; Already visited with sufficient need-in-image level! - (labels ((visit-action (niip) ; We may visit the action twice, once with niip NIL, then T - (map-direct-dependencies ; recursively traverse dependencies - plan operation component #'(lambda (o c) (traverse-action plan o c niip))) - (multiple-value-bind (stamp done-p) ; AFTER dependencies have been traversed, - (compute-action-stamp plan operation component) ; compute action stamp - (let ((add-to-plan-p (or (eql stamp t) (and niip (not done-p))))) + (unless (action-valid-p operation component) (return)) + ;; Record the dependency. This hook is needed by POIU, which tracks a full dependency graph, + ;; instead of just a dependency order as in vanilla ASDF. + ;; TODO: It is also needed to detect OPERATE-in-PERFORM. + (record-dependency plan operation component) + (while-visiting-action (operation component) ; maintain context, handle circularity. + ;; needed-in-image distinguishes b/w things that must happen in the + ;; current image and those things that simply need to have been done in a previous one. + (let* ((aniip (needed-in-image-p operation component)) ; action-specific needed-in-image + ;; effective niip: meaningful for the action and required by the plan as traversed + (eniip (and aniip needed-in-image-p)) + ;; status: have we traversed that action previously, and if so what was its status? + (status (action-status plan operation component)) + (level (operate-level))) + (when (and status + (or (status-done-p status) ;; all done + (and (status-need-p status) (<= level (status-level status))) ;; already visited + (and (status-keep-p status) (not eniip)))) ;; up-to-date and not eniip + (return)) ; Already visited with sufficient need-in-image level! + (labels ((visit-action (niip) ; We may visit the action twice, once with niip NIL, then T + (map-direct-dependencies ; recursively traverse dependencies + operation component #'(lambda (o c) (traverse-action plan o c niip))) + ;; AFTER dependencies have been traversed, compute action stamp + (let* ((status (if status + (mark-status-needed status level) + (compute-action-status plan operation component t))) + (out-of-date-p (not (status-keep-p status))) + (to-perform-p (or out-of-date-p (and niip (not (status-done-p status)))))) (cond ; it needs be done if it's out of date or needed in image but absent - ((and add-to-plan-p (not niip)) ; if we need to do it, + ((and out-of-date-p (not niip)) ; if we need to do it, (visit-action t)) ; then we need to do it *in the (current) image*! (t - (setf (plan-action-status plan operation component) ; update status: - (make-instance - 'planned-action-status - :stamp stamp ; computed stamp - :done-p (and done-p (not add-to-plan-p)) ; done *and* up-to-date? - :planned-p add-to-plan-p ; included in list of things to be done? - :index (if status ; index of action amongst all nodes in traversal - (action-index status) ;; if already visited, keep index - (incf (plan-total-action-count plan))))) ; else new index - (when (and done-p (not add-to-plan-p)) - (setf (component-operation-time operation component) stamp)) - (when add-to-plan-p ; if it needs to be added to the plan, - (incf (plan-planned-action-count plan)) ; count it - (unless aniip ; if it's output-producing, - (incf (plan-planned-output-action-count plan)))) ; count it - stamp)))))) ; return the stamp - (while-visiting-action (plan operation component) ; maintain context, handle circularity. - (visit-action eniip))))))) ; visit the action - - -;;;; Sequential plans (the default) -(with-upgradability () - (defclass sequential-plan (plan-traversal) - ((actions-r :initform nil :accessor plan-actions-r)) - (:documentation "Simplest, default plan class, accumulating a sequence of actions")) - - (defmethod plan-actions ((plan sequential-plan)) - (reverse (plan-actions-r plan))) - - ;; No need to record a dependency to build a full graph, just accumulate nodes in order. - (defmethod plan-record-dependency ((plan sequential-plan) (o operation) (c component)) - (values)) - - (defmethod (setf plan-action-status) :after - (new-status (p sequential-plan) (o operation) (c component)) - (when (action-planned-p new-status) - (push (make-action o c) (plan-actions-r p))))) - - -;;;; High-level interface: traverse, perform-plan, plan-operates-on-p -(with-upgradability () - (defgeneric make-plan (plan-class operation component &key &allow-other-keys) - (:documentation "Generate and return a plan for performing OPERATION on COMPONENT.")) - (define-convenience-action-methods make-plan (plan-class operation component &key)) - - (defgeneric perform-plan (plan &key) - (:documentation "Actually perform a plan and build the requested actions")) - (defgeneric plan-operates-on-p (plan component) - (:documentation "Does this PLAN include any operation on given COMPONENT?")) - - (defvar *default-plan-class* 'sequential-plan - "The default plan class to use when building with ASDF") - - (defmethod make-plan (plan-class (o operation) (c component) &rest keys &key &allow-other-keys) - (let ((plan (apply 'make-instance (or plan-class *default-plan-class*) - :system (component-system c) keys))) - (traverse-action plan o c t) - plan)) - - (defmethod perform-plan :around ((plan t) &key) - #+xcl (declare (ignorable plan)) - (let ((*package* *package*) - (*readtable* *readtable*)) - (with-compilation-unit () ;; backward-compatibility. - (call-next-method)))) ;; Going forward, see deferred-warning support in lisp-build. - - (defmethod perform-plan ((plan t) &rest keys &key &allow-other-keys) - (apply 'perform-plan (plan-actions plan) keys)) - - (defmethod perform-plan ((steps list) &key force &allow-other-keys) - (loop* :for action :in steps - :as o = (action-operation action) - :as c = (action-component action) - :when (or force (not (nth-value 1 (compute-action-stamp nil o c)))) - :do (perform-with-restarts o c))) - - (defmethod plan-operates-on-p ((plan plan-traversal) (component-path list)) - (plan-operates-on-p (plan-actions plan) component-path)) + (setf (action-status plan operation component) status) + (when (status-done-p status) + (setf (component-operation-time operation component) + (status-stamp status))) + (when to-perform-p ; if it needs to be added to the plan, count it + (incf (planned-action-count *asdf-session*)) + (unless aniip ; if it's output-producing, count it + (incf (planned-output-action-count *asdf-session*))))))))) + (visit-action eniip)))))) ; visit the action + + ;; NB: This is not an error, not a warning, but a normal expected condition, + ;; to be to signaled by FIND-SYSTEM when it detects an out-of-date system, + ;; *before* it tries to replace it with a new definition. + (define-condition system-out-of-date (condition) + ((name :initarg :name :reader component-name)) + (:documentation "condition signaled when a system is detected as being out of date") + (:report (lambda (c s) + (format s "system ~A is out of date" (component-name c))))) - (defmethod plan-operates-on-p ((plan list) (component-path list)) - (find component-path (mapcar 'action-component plan) - :test 'equal :key 'component-find-path))) + (defun action-up-to-date-p (plan operation component) + "Check whether an action was up-to-date at the beginning of the session. +Update the VISITED-ACTIONS table with the known status, but don't add anything to the PLAN." + (block nil + (unless (action-valid-p operation component) (return t)) + (while-visiting-action (operation component) ; maintain context, handle circularity. + ;; Do NOT record the dependency: it might be out of date. + (let ((status (or (action-status plan operation component) + (setf (action-status plan operation component) + (let ((dependencies-up-to-date-p + (handler-case + (block nil + (map-direct-dependencies + operation component + #'(lambda (o c) + (unless (action-up-to-date-p plan o c) + (return nil)))) + t) + (system-out-of-date () nil)))) + (if dependencies-up-to-date-p + (compute-action-status plan operation component nil) + +status-void+)))))) + (and (status-keep-p status) (status-stamp status))))))) ;;;; Incidental traversals @@ -10130,82 +10209,131 @@ initialized with SEED." ;;; files required by a bundling operation. (with-upgradability () (defclass filtered-sequential-plan (sequential-plan) - ((action-filter :initform t :initarg :action-filter :reader plan-action-filter) - (component-type :initform t :initarg :component-type :reader plan-component-type) + ((component-type :initform t :initarg :component-type :reader plan-component-type) (keep-operation :initform t :initarg :keep-operation :reader plan-keep-operation) (keep-component :initform t :initarg :keep-component :reader plan-keep-component)) (:documentation "A variant of SEQUENTIAL-PLAN that only records a subset of actions.")) (defmethod initialize-instance :after ((plan filtered-sequential-plan) - &key force force-not - other-systems) - (declare (ignore force force-not)) + &key system other-systems) ;; Ignore force and force-not, rely on other-systems: ;; force traversal of what we're interested in, i.e. current system or also others; ;; force-not traversal of what we're not interested in, i.e. other systems unless other-systems. - (with-slots (forced forced-not action-filter system) plan - (setf forced (normalize-forced-systems (if other-systems :all t) system)) - (setf forced-not (normalize-forced-not-systems (if other-systems nil t) system)) - (setf action-filter (ensure-function action-filter)))) - - (defmethod action-valid-p ((plan filtered-sequential-plan) o c) - (and (funcall (plan-action-filter plan) o c) - (typep c (plan-component-type plan)) - (call-next-method))) - - (defun* (traverse-actions) (actions &rest keys &key plan-class &allow-other-keys) - "Given a list of actions, build a plan with these actions as roots." - (let ((plan (apply 'make-instance (or plan-class 'filtered-sequential-plan) keys))) - (loop* :for action :in actions - :as o = (action-operation action) - :as c = (action-component action) - :do (traverse-action plan o c t)) - plan)) - - (defgeneric traverse-sub-actions (operation component &key &allow-other-keys)) - (define-convenience-action-methods traverse-sub-actions (operation component &key)) - (defmethod traverse-sub-actions ((operation operation) (component component) - &rest keys &key &allow-other-keys) - (apply 'traverse-actions (direct-dependencies t operation component) - :system (component-system component) keys)) + (setf (slot-value plan 'forcing) + (make-forcing :system system :force :all :force-not (if other-systems nil t)))) (defmethod plan-actions ((plan filtered-sequential-plan)) (with-slots (keep-operation keep-component) plan - (loop* :for action :in (call-next-method) - :as o = (action-operation action) - :as c = (action-component action) - :when (and (typep o keep-operation) (typep c keep-component)) - :collect (make-action o c)))) + (loop :for action :in (call-next-method) + :as o = (action-operation action) + :as c = (action-component action) + :when (and (typep o keep-operation) (typep c keep-component)) + :collect (make-action o c)))) + + (defun collect-action-dependencies (plan operation component) + (when (action-valid-p operation component) + (while-visiting-action (operation component) ; maintain context, handle circularity. + (let ((action (make-action operation component))) + (unless (nth-value 1 (gethash action (visited-actions *asdf-session*))) + (setf (gethash action (visited-actions *asdf-session*)) nil) + (when (and (typep component (plan-component-type plan)) + (not (action-forced-not-p (forcing plan) operation component))) + (map-direct-dependencies operation component + #'(lambda (o c) (collect-action-dependencies plan o c))) + (push action (plan-actions-r plan)))))))) + + (defgeneric collect-dependencies (operation component &key &allow-other-keys) + (:documentation "Given an action, build a plan for all of its dependencies.")) + (define-convenience-action-methods collect-dependencies (operation component &key)) + (defmethod collect-dependencies ((operation operation) (component component) + &rest keys &key &allow-other-keys) + (let ((plan (apply 'make-instance 'filtered-sequential-plan + :system (component-system component) keys))) + (loop :for action :in (direct-dependencies operation component) + :do (collect-action-dependencies plan (action-operation action) (action-component action))) + (plan-actions plan))) + + (defun* (required-components) (system &rest keys &key (goal-operation 'load-op) &allow-other-keys) + "Given a SYSTEM and a GOAL-OPERATION (default LOAD-OP), traverse the dependencies and +return a list of the components involved in building the desired action." + (with-asdf-session (:override t) + (remove-duplicates + (mapcar 'action-component + (apply 'collect-dependencies goal-operation system + (remove-plist-key :goal-operation keys))) + :from-end t)))) + + +;;;; High-level interface: make-plan, perform-plan +(with-upgradability () + (defgeneric make-plan (plan-class operation component &key &allow-other-keys) + (:documentation "Generate and return a plan for performing OPERATION on COMPONENT.")) + (define-convenience-action-methods make-plan (plan-class operation component &key)) + + (defgeneric mark-as-done (plan-class operation component) + (:documentation "Mark an action as done in a plan, after performing it.")) + (define-convenience-action-methods mark-as-done (plan-class operation component)) + + (defgeneric perform-plan (plan &key) + (:documentation "Actually perform a plan and build the requested actions")) + + (defparameter* *plan-class* 'sequential-plan + "The default plan class to use when building with ASDF") + + (defmethod make-plan (plan-class (o operation) (c component) &rest keys &key &allow-other-keys) + (with-asdf-session () + (let ((plan (apply 'make-instance (or plan-class *plan-class*) keys))) + (traverse-action plan o c t) + plan))) - (defun* (required-components) (system &rest keys &key (goal-operation 'load-op) &allow-other-keys) - "Given a SYSTEM and a GOAL-OPERATION (default LOAD-OP), traverse the dependencies and -return a list of the components involved in building the desired action." - (remove-duplicates - (mapcar 'action-component - (plan-actions - (apply 'traverse-sub-actions goal-operation system - (remove-plist-key :goal-operation keys)))) - :from-end t))) + (defmethod perform-plan :around ((plan t) &key) + (assert (performable-p (forcing plan)) () "plan not performable") + (let ((*package* *package*) + (*readtable* *readtable*)) + (with-compilation-unit () ;; backward-compatibility. + (call-next-method)))) ;; Going forward, see deferred-warning support in lisp-build. + (defun action-already-done-p (plan operation component) + (if-let (status (action-status plan operation component)) + (status-done-p status))) + + (defmethod perform-plan ((plan t) &key) + (loop :for action :in (plan-actions plan) + :as o = (action-operation action) + :as c = (action-component action) :do + (unless (action-already-done-p plan o c) + (perform-with-restarts o c) + (mark-as-done plan o c)))) + + (defmethod mark-as-done ((plan plan) (o operation) (c component)) + (let ((plan-status (action-status plan o c)) + (perform-status (action-status nil o c))) + (assert (and (status-stamp perform-status) (status-keep-p perform-status)) () + "Just performed ~A but failed to mark it done" (action-description o c)) + (setf (action-status plan o c) + (make-action-status + :bits (logior (status-bits plan-status) +done-bit+) + :stamp (status-stamp perform-status) + :level (status-level plan-status) + :index (status-index plan-status)))))) ;;;; ------------------------------------------------------------------------- ;;;; Invoking Operations (uiop/package:define-package :asdf/operate (:recycle :asdf/operate :asdf) - (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/cache - :asdf/component :asdf/system :asdf/operation :asdf/action - :asdf/find-system :asdf/find-component :asdf/lisp-action :asdf/plan) + (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session + :asdf/component :asdf/system :asdf/system-registry :asdf/find-component + :asdf/operation :asdf/action :asdf/lisp-action :asdf/forcing :asdf/plan) (:export - #:operate #:oos - #:build-op #:make + #:operate #:oos #:build-op #:make #:load-system #:load-systems #:load-systems* - #:compile-system #:test-system #:require-system - #:module-provide-asdf - #:component-loaded-p #:already-loaded-systems)) + #:compile-system #:test-system #:require-system #:module-provide-asdf + #:component-loaded-p #:already-loaded-systems + #:recursive-operate)) (in-package :asdf/operate) (with-upgradability () - (defgeneric operate (operation component &key &allow-other-keys) + (defgeneric operate (operation component &key) (:documentation "Operate does mainly four things for the user: @@ -10220,6 +10348,7 @@ The entire computation is wrapped in WITH-COMPILATION-UNIT and error handling co If a VERSION argument is supplied, then operate also ensures that the system found satisfies it using the VERSION-SATISFIES method. If a PLAN-CLASS argument is supplied, that class is used for the plan. +If a PLAN-OPTIONS argument is supplied, the options are passed to the plan. The :FORCE or :FORCE-NOT argument to OPERATE can be: T to force the inside of the specified system to be rebuilt (resp. not), @@ -10235,52 +10364,60 @@ But do NOT depend on it, for this is deprecated behavior.")) (define-convenience-action-methods operate (operation component &key) :if-no-component (error 'missing-component :requires component)) - (defvar *in-operate* nil - "Are we in operate?") - ;; This method ensures that an ASDF upgrade is attempted as the very first thing, ;; with suitable state preservation in case in case it actually happens, ;; and that a few suitable dynamic bindings are established. (defmethod operate :around (operation component &rest keys &key verbose (on-warnings *compile-file-warnings-behaviour*) - (on-failure *compile-file-failure-behaviour*) &allow-other-keys) + (on-failure *compile-file-failure-behaviour*)) (nest - (with-asdf-cache ()) - (let ((in-operate *in-operate*) - (*in-operate* t) - (operation-remaker ;; how to remake the operation after ASDF was upgraded (if it was) - (etypecase operation - (operation (let ((name (type-of operation))) - #'(lambda () (make-operation name)))) - ((or symbol string) (constantly operation)))) - (component-path (typecase component ;; to remake the component after ASDF upgrade - (component (component-find-path component)) - (t component))))) - ;; Before we operate on any system, make sure ASDF is up-to-date, - ;; for if an upgrade is ever attempted at any later time, there may be BIG trouble. - (progn - (unless in-operate + (with-asdf-session ()) + (let* ((operation-remaker ;; how to remake the operation after ASDF was upgraded (if it was) + (etypecase operation + (operation (let ((name (type-of operation))) + #'(lambda () (make-operation name)))) + ((or symbol string) (constantly operation)))) + (component-path (typecase component ;; to remake the component after ASDF upgrade + (component (component-find-path component)) + (t component))) + (system-name (labels ((first-name (x) + (etypecase x + ((or string symbol) x) ; NB: includes the NIL case. + (cons (or (first-name (car x)) (first-name (cdr x))))))) + (coerce-name (first-name component-path))))) + (apply 'make-forcing :performable-p t :system system-name keys) + ;; Before we operate on any system, make sure ASDF is up-to-date, + ;; for if an upgrade is ever attempted at any later time, there may be BIG trouble. + (unless (asdf-upgraded-p (toplevel-asdf-session)) + (setf (asdf-upgraded-p (toplevel-asdf-session)) t) (when (upgrade-asdf) ;; If we were upgraded, restart OPERATE the hardest of ways, for ;; its function may have been redefined. (return-from operate - (apply 'operate (funcall operation-remaker) component-path keys))))) + (with-asdf-session (:override t :override-cache t) + (apply 'operate (funcall operation-remaker) component-path keys)))))) ;; Setup proper bindings around any operate call. (let* ((*verbose-out* (and verbose *standard-output*)) (*compile-file-warnings-behaviour* on-warnings) - (*compile-file-failure-behaviour* on-failure)) - (call-next-method)))) + (*compile-file-failure-behaviour* on-failure))) + (unwind-protect + (progn + (incf (operate-level)) + (call-next-method)) + (decf (operate-level))))) (defmethod operate :before ((operation operation) (component component) - &key version &allow-other-keys) + &key version) (unless (version-satisfies component version) - (error 'missing-component-of-version :requires component :version version))) + (error 'missing-component-of-version :requires component :version version)) + (record-dependency nil operation component)) (defmethod operate ((operation operation) (component component) - &rest keys &key plan-class &allow-other-keys) - (let ((plan (apply 'make-plan plan-class operation component keys))) - (apply 'perform-plan plan keys) + &key plan-class plan-options) + (let ((plan (apply 'make-plan plan-class operation component + :forcing (forcing *asdf-session*) plan-options))) + (perform-plan plan) (values operation plan))) (defun oos (operation component &rest args &key &allow-other-keys) @@ -10288,8 +10425,19 @@ But do NOT depend on it, for this is deprecated behavior.")) (setf (documentation 'oos 'function) (format nil "Short for _operate on system_ and an alias for the OPERATE function.~%~%~a" - (documentation 'operate 'function)))) + (documentation 'operate 'function))) + (define-condition recursive-operate (warning) + ((operation :initarg :operation :reader condition-operation) + (component :initarg :component :reader condition-component) + (action :initarg :action :reader condition-action)) + (:report (lambda (c s) + (format s (compatfmt "~@<Deprecated recursive use of (~S '~S '~S) while visiting ~S ~ +- please use proper dependencies instead~@:>") + 'operate + (type-of (condition-operation c)) + (component-find-path (condition-component c)) + (action-path (condition-action c))))))) ;;;; Common operations (when-upgrading () @@ -10349,17 +10497,11 @@ defaults to LOAD-OP, to load it in current image." "Has the given COMPONENT been successfully loaded in the current image (yet)? Note that this returns true even if the component is not up to date." (if-let ((component (find-component component () :registered t))) - (action-already-done-p nil (make-operation 'load-op) component))) + (nth-value 1 (component-operation-time (make-operation 'load-op) component)))) (defun already-loaded-systems () "return a list of the names of the systems that have been successfully loaded so far" - (mapcar 'coerce-name (remove-if-not 'component-loaded-p (registered-systems*)))) - - (defun require-system (system &rest keys &key &allow-other-keys) - "Ensure the specified SYSTEM is loaded, passing the KEYS to OPERATE, but do not update the -system or its dependencies if they have already been loaded." - (unless (component-loaded-p system) - (apply 'load-system system :force-not (already-loaded-systems) keys)))) + (mapcar 'coerce-name (remove-if-not 'component-loaded-p (registered-systems*))))) ;;;; Define the class REQUIRE-SYSTEM, to be hooked into CL:REQUIRE when possible, @@ -10418,7 +10560,7 @@ the implementation's REQUIRE rather than by internal ASDF mechanisms.")) (let ((*modules-being-required* (cons module-name *modules-being-required*)) #+sbcl (sb-impl::*requiring* (remove module-name sb-impl::*requiring* :test 'equal))) (handler-bind - ((style-warning #'muffle-warning) + (((or style-warning recursive-operate) #'muffle-warning) (missing-component (constantly nil)) (fatal-condition #'(lambda (e) @@ -10427,7 +10569,11 @@ the implementation's REQUIRE rather than by internal ASDF mechanisms.")) (let ((*verbose-out* (make-broadcast-stream))) (let ((system (find-system system-name nil))) (when system - (require-system system-name :verbose nil) + ;; Do not use require-system after all, use load-system: + ;; on the one hand, REQUIRE already uses *MODULES* not to load something twice, + ;; on the other hand, REQUIRE-SYSTEM uses FORCE-NOT which may conflict with + ;; the toplevel session forcing settings. + (load-system system :verbose nil) t))))))))) @@ -10436,32 +10582,314 @@ the implementation's REQUIRE rather than by internal ASDF mechanisms.")) (defun restart-upgraded-asdf () ;; If we're in the middle of something, restart it. (let ((systems-being-defined - (when *asdf-cache* + (when *asdf-session* (prog1 - (loop :for k :being :the hash-keys :of *asdf-cache* + (loop :for k :being :the hash-keys :of (asdf-cache) :when (eq (first k) 'find-system) :collect (second k)) - (clrhash *asdf-cache*))))) + (clrhash (asdf-cache)))))) ;; Regardless, clear defined systems, since they might be invalid ;; after an incompatible ASDF upgrade. - (clear-defined-systems) + (clear-registered-systems) ;; The configuration also may have to be upgraded. (upgrade-configuration) ;; If we were in the middle of an operation, be sure to restore the system being defined. (dolist (s systems-being-defined) (find-system s nil)))) - (register-hook-function '*post-upgrade-cleanup-hook* 'restart-upgraded-asdf) + (register-hook-function '*post-upgrade-cleanup-hook* 'restart-upgraded-asdf)) +;;;; ------------------------------------------------------------------------- +;;;; Finding systems + +(uiop/package:define-package :asdf/find-system + (:recycle :asdf/find-system :asdf) + (:use :uiop/common-lisp :uiop :asdf/upgrade + :asdf/session :asdf/component :asdf/system :asdf/operation :asdf/action :asdf/lisp-action + :asdf/find-component :asdf/system-registry :asdf/plan :asdf/operate) + (:import-from #:asdf/component #:%additional-input-files) + (:export + #:find-system #:locate-system #:load-asd #:define-op + #:load-system-definition-error #:error-name #:error-pathname #:error-condition)) +(in-package :asdf/find-system) + +(with-upgradability () + (define-condition load-system-definition-error (system-definition-error) + ((name :initarg :name :reader error-name) + (pathname :initarg :pathname :reader error-pathname) + (condition :initarg :condition :reader error-condition)) + (:report (lambda (c s) + (format s (compatfmt "~@<Error while trying to load definition for system ~A from pathname ~A: ~3i~_~A~@:>") + (error-name c) (error-pathname c) (error-condition c))))) + + + ;;; Methods for find-system + + ;; Reject NIL as a system designator. + (defmethod find-system ((name null) &optional (error-p t)) + (when error-p + (sysdef-error (compatfmt "~@<NIL is not a valid system name~@:>")))) + + ;; Default method for find-system: resolve the argument using COERCE-NAME. + (defmethod find-system (name &optional (error-p t)) + (find-system (coerce-name name) error-p)) + + (defun find-system-if-being-defined (name) + ;; This function finds systems being defined *in the current ASDF session*, as embodied by + ;; its session cache, even before they are fully defined and registered in *registered-systems*. + ;; The purpose of this function is to prevent races between two files that might otherwise + ;; try overwrite each other's system objects, resulting in infinite loops and stack overflow. + ;; This function explicitly MUST NOT find definitions merely registered in previous sessions. + ;; NB: this function depends on a corresponding side-effect in parse-defsystem; + ;; the precise protocol between the two functions may change in the future (or not). + (first (gethash `(find-system ,(coerce-name name)) (asdf-cache)))) + + (defclass define-op (non-propagating-operation) () + (:documentation "An operation to record dependencies on loading a .asd file.")) + + (defmethod record-dependency ((plan null) (operation t) (component t)) + (unless (or (typep operation 'define-op) + (and (typep operation 'load-op) + (typep component 'system) + (equal "asdf" (coerce-name component)))) + (if-let ((action (first (visiting-action-list *asdf-session*)))) + (let ((parent-operation (action-operation action)) + (parent-component (action-component action))) + (cond + ((and (typep parent-operation 'define-op) + (typep parent-component 'system)) + (let ((action (cons operation component))) + (unless (gethash action (definition-dependency-set parent-component)) + (push (cons operation component) (definition-dependency-list parent-component)) + (setf (gethash action (definition-dependency-set parent-component)) t)))) + (t + (warn 'recursive-operate + :operation operation :component component :action action))))))) + + (defmethod component-depends-on ((o define-op) (s system)) + `(;;NB: 1- ,@(system-defsystem-depends-on s)) ; Should be already included in the below. + ;; 2- We don't call-next-method to avoid other methods + ,@(loop* :for (o . c) :in (definition-dependency-list s) :collect (list o c)))) + + (defmethod component-depends-on ((o operation) (s system)) + `(,@(when (and (not (typep o 'define-op)) + (or (system-source-file s) (definition-dependency-list s))) + `((define-op ,(primary-system-name s)))) + ,@(call-next-method))) + + (defmethod perform ((o operation) (c undefined-system)) + (sysdef-error "Trying to use undefined or incompletely defined system ~A" (coerce-name c))) + + ;; TODO: could this file be refactored so that locate-system is merely + ;; the cache-priming call to input-files here? + (defmethod input-files ((o define-op) (s system)) + (assert (equal (coerce-name s) (primary-system-name s))) + (if-let ((asd (system-source-file s))) (list asd))) + + (defmethod perform ((o define-op) (s system)) + (assert (equal (coerce-name s) (primary-system-name s))) + (nest + (if-let ((pathname (first (input-files o s))))) + (with-standard-io-syntax) + (let ((*print-readably* nil) + ;; Note that our backward-compatible *readtable* is + ;; a global readtable that gets globally side-effected. Ouch. + ;; Same for the *print-pprint-dispatch* table. + ;; We should do something about that for ASDF3 if possible, or else ASDF4. + (*readtable* *readtable*) + (*print-pprint-dispatch* *print-pprint-dispatch*) + (*package* (find-package :asdf-user)) + (*default-pathname-defaults* + ;; resolve logical-pathnames so they won't wreak havoc in parsing namestrings. + (pathname-directory-pathname (physicalize-pathname pathname))))) + (handler-bind + (((and error (not missing-component)) + #'(lambda (condition) + (error 'load-system-definition-error + :name (coerce-name s) :pathname pathname :condition condition)))) + (asdf-message (compatfmt "~&~@<; ~@;Loading system definition~@[ for ~A~] from ~A~@:>~%") + (coerce-name s) pathname) + ;; dependencies will depend on what's loaded via definition-dependency-list + (unset-asdf-cache-entry `(component-depends-on ,o ,s)) + (unset-asdf-cache-entry `(input-files ,o ,s))) + (load* pathname :external-format (encoding-external-format (detect-encoding pathname))))) + + (defun load-asd (pathname &key name) + "Load system definitions from PATHNAME. +NAME if supplied is the name of a system expected to be defined in that file. + +Do NOT try to load a .asd file directly with CL:LOAD. Always use ASDF:LOAD-ASD." + (with-asdf-session () + ;; TODO: use OPERATE, so we consult the cache and only load once per session. + (flet ((do-it (o c) (operate o c))) + (let ((primary-name (primary-system-name (or name (pathname-name pathname)))) + (operation (make-operation 'define-op))) + (if-let (system (registered-system primary-name)) + (progn + ;; We already determine this to be obsolete --- + ;; or should we move some tests from find-system to check for up-to-date-ness here? + (setf (component-operation-time operation system) t + (definition-dependency-list system) nil + (definition-dependency-set system) (list-to-hash-set nil)) + (do-it operation system)) + (let ((system (make-instance 'undefined-system + :name primary-name :source-file pathname))) + (register-system system) + (unwind-protect (do-it operation system) + (when (typep system 'undefined-system) + (clear-system system))))))))) + + (defvar *old-asdf-systems* (make-hash-table :test 'equal)) + + ;; (Private) function to check that a system that was found isn't an asdf downgrade. + ;; Returns T if everything went right, NIL if the system was an ASDF of the same or older version, + ;; that shall not be loaded. Also issue a warning if it was a strictly older version of ASDF. + (defun check-not-old-asdf-system (name pathname) + (or (not (member name '("asdf" "uiop") :test 'equal)) + (null pathname) + (let* ((asdfp (equal name "asdf")) ;; otherwise, it's uiop + (version-pathname + (subpathname pathname "version" :type (if asdfp "lisp-expr" "lisp"))) + (version (and (probe-file* version-pathname :truename nil) + (read-file-form version-pathname :at (if asdfp '(0) '(2 2 2))))) + (old-version (asdf-version))) + (cond + ;; Don't load UIOP of the exact same version: we already loaded it as part of ASDF. + ((and (equal old-version version) (equal name "uiop")) nil) + ((version<= old-version version) t) ;; newer or same version: Good! + (t ;; old version: bad + (ensure-gethash + (list (namestring pathname) version) *old-asdf-systems* + #'(lambda () + (let ((old-pathname (system-source-file (registered-system "asdf")))) + (if asdfp + (warn "~@<~ + You are using ASDF version ~A ~:[(probably from (require \"asdf\") ~ + or loaded by quicklisp)~;from ~:*~S~] and have an older version of ASDF ~ + ~:[(and older than 2.27 at that)~;~:*~A~] registered at ~S. ~ + Having an ASDF installed and registered is the normal way of configuring ASDF to upgrade itself, ~ + and having an old version registered is a configuration error. ~ + ASDF will ignore this configured system rather than downgrade itself. ~ + In the future, you may want to either: ~ + (a) upgrade this configured ASDF to a newer version, ~ + (b) install a newer ASDF and register it in front of the former in your configuration, or ~ + (c) uninstall or unregister this and any other old version of ASDF from your configuration. ~ + Note that the older ASDF might be registered implicitly through configuration inherited ~ + from your system installation, in which case you might have to specify ~ + :ignore-inherited-configuration in your in your ~~/.config/common-lisp/source-registry.conf ~ + or other source-registry configuration file, environment variable or lisp parameter. ~ + Indeed, a likely offender is an obsolete version of the cl-asdf debian or ubuntu package, ~ + that you might want to upgrade (if a recent enough version is available) ~ + or else remove altogether (since most implementations ship with a recent asdf); ~ + if you lack the system administration rights to upgrade or remove this package, ~ + then you might indeed want to either install and register a more recent version, ~ + or use :ignore-inherited-configuration to avoid registering the old one. ~ + Please consult ASDF documentation and/or experts.~@:>~%" + old-version old-pathname version pathname) + ;; NB: for UIOP, don't warn, just ignore. + (warn "ASDF ~A (from ~A), UIOP ~A (from ~A)" + old-version old-pathname version pathname) + )))) + nil))))) ;; only issue the warning the first time, but always return nil + + (defun locate-system (name) + "Given a system NAME designator, try to locate where to load the system from. +Returns five values: FOUNDP FOUND-SYSTEM PATHNAME PREVIOUS PREVIOUS-TIME +FOUNDP is true when a system was found, +either a new unregistered one or a previously registered one. +FOUND-SYSTEM when not null is a SYSTEM object that may be REGISTER-SYSTEM'ed. +PATHNAME when not null is a path from which to load the system, +either associated with FOUND-SYSTEM, or with the PREVIOUS system. +PREVIOUS when not null is a previously loaded SYSTEM object of same name. +PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded." + (with-asdf-session () ;; NB: We don't cache the results. We once used to, but it wasn't useful, + ;; and keeping a negative cache was a bug (see lp#1335323), which required + ;; explicit invalidation in clear-system and find-system (when unsucccessful). + (let* ((name (coerce-name name)) + (previous (registered-system name)) ; load from disk if absent or newer on disk + (primary (registered-system (primary-system-name name))) + (previous-time (and previous primary (component-operation-time 'define-op primary))) + (found (search-for-system-definition name)) + (found-system (and (typep found 'system) found)) + (pathname (ensure-pathname + (or (and (typep found '(or pathname string)) (pathname found)) + (system-source-file found-system) + (system-source-file previous)) + :want-absolute t :resolve-symlinks *resolve-symlinks*)) + (foundp (and (or found-system pathname previous) t))) + (check-type found (or null pathname system)) + (unless (check-not-old-asdf-system name pathname) + (check-type previous system) ;; asdf is preloaded, so there should be a previous one. + (setf found-system nil pathname nil)) + (values foundp found-system pathname previous previous-time)))) + + ;; Main method for find-system: first, make sure the computation is memoized in a session cache. + ;; Unless the system is immutable, use locate-system to find the primary system; + ;; reconcile the finding (if any) with any previous definition (in a previous session, + ;; preloaded, with a previous configuration, or before filesystem changes), and + ;; load a found .asd if appropriate. Finally, update registration table and return results. - ;; The following function's symbol is from asdf/find-system. - ;; It is defined here to resolve what would otherwise be forward package references. + (defun definition-dependencies-up-to-date-p (system) + (check-type system system) + (assert (primary-system-p system)) + (handler-case + (loop :with plan = (make-instance *plan-class*) + :for action :in (definition-dependency-list system) + :always (action-up-to-date-p + plan (action-operation action) (action-component action)) + :finally + (let ((o (make-operation 'define-op))) + (multiple-value-bind (stamp done-p) + (compute-action-stamp plan o system) + (return (and (stamp<= stamp (component-operation-time o system)) + done-p))))) + (system-out-of-date () nil))) + + (defmethod find-system ((name string) &optional (error-p t)) + (nest + (with-asdf-session (:key `(find-system ,name))) + (let ((name-primary-p (primary-system-p name))) + (unless name-primary-p (find-system (primary-system-name name) nil))) + (or (and *immutable-systems* (gethash name *immutable-systems*) (registered-system name))) + (multiple-value-bind (foundp found-system pathname previous previous-time) + (locate-system name) + (assert (eq foundp (and (or found-system pathname previous) t)))) + (let ((previous-pathname (system-source-file previous)) + (system (or previous found-system))) + (when (and found-system (not previous)) + (register-system found-system)) + (when (and system pathname) + (setf (system-source-file system) pathname)) + (if-let ((stamp (get-file-stamp pathname))) + (let ((up-to-date-p + (and previous + (or (pathname-equal pathname previous-pathname) + (and pathname previous-pathname + (pathname-equal + (physicalize-pathname pathname) + (physicalize-pathname previous-pathname)))) + (stamp<= stamp previous-time) + ;; TODO: check that all dependencies are up-to-date. + ;; This necessitates traversing them without triggering + ;; the adding of nodes to the plan. + (or (not name-primary-p) + (definition-dependencies-up-to-date-p previous))))) + (unless up-to-date-p + (restart-case + (signal 'system-out-of-date :name name) + (continue () :report "continue")) + (load-asd pathname :name name))))) + ;; Try again after having loaded from disk if needed + (or (registered-system name) + (when error-p (error 'missing-component :requires name))))) + + ;; Resolved forward reference for asdf/system-registry. (defun mark-component-preloaded (component) "Mark a component as preloaded." (let ((component (find-component component nil :registered t))) ;; Recurse to children, so asdf/plan will hopefully be happy. (map () 'mark-component-preloaded (component-children component)) ;; Mark the timestamps of the common lisp-action operations as 0. - (let ((times (component-operation-times component))) - (dolist (o '(load-op compile-op prepare-op)) - (setf (gethash (make-operation o) times) 0)))))) - + (let ((cot (component-operation-times component))) + (dolist (o `(,@(when (primary-system-p component) '(define-op)) + prepare-op compile-op load-op)) + (setf (gethash (make-operation o) cot) 0)))))) ;;;; ------------------------------------------------------------------------- ;;;; Defsystem @@ -10469,15 +10897,20 @@ the implementation's REQUIRE rather than by internal ASDF mechanisms.")) (:recycle :asdf/parse-defsystem :asdf/defsystem :asdf) (:nicknames :asdf/defsystem) ;; previous name, to be compatible with, in case anyone cares (:use :uiop/common-lisp :asdf/driver :asdf/upgrade - :asdf/cache :asdf/component :asdf/system - :asdf/find-system :asdf/find-component :asdf/action :asdf/lisp-action :asdf/operate) + :asdf/session :asdf/component :asdf/system :asdf/system-registry + :asdf/find-component :asdf/action :asdf/lisp-action :asdf/operate) (:import-from :asdf/system #:depends-on #:weakly-depends-on) + ;; these needed for record-additional-system-input-file + (:import-from :asdf/operation #:make-operation) + (:import-from :asdf/component #:%additional-input-files) + (:import-from :asdf/find-system #:define-op) (:export #:defsystem #:register-system-definition #:class-for-type #:*default-component-class* #:determine-system-directory #:parse-component-form #:non-toplevel-system #:non-system-system #:bad-system-name - #:sysdef-error-component #:check-component-input)) + #:sysdef-error-component #:check-component-input + #:explain)) (in-package :asdf/parse-defsystem) ;;; Pathname @@ -10565,6 +10998,27 @@ Please only define ~S and secondary systems with a name starting with ~S (e.g. ~ (sysdef-error-component ":components must be NIL or a list of components." type name components))) + + (defun record-additional-system-input-file (pathname component parent) + (let* ((record-on (if parent + (loop :with retval + :for par = parent :then (component-parent par) + :while par + :do (setf retval par) + :finally (return retval)) + component)) + (comp (if (typep record-on 'component) + record-on + ;; at this point there will be no parent for RECORD-ON + (find-component record-on nil))) + (op (make-operation 'define-op)) + (cell (or (assoc op (%additional-input-files comp)) + (let ((new-cell (list op))) + (push new-cell (%additional-input-files comp)) + new-cell)))) + (pushnew pathname (cdr cell) :test 'pathname-equal) + (values))) + ;; Given a form used as :version specification, in the context of a system definition ;; in a file at PATHNAME, for given COMPONENT with given PARENT, normalize the form ;; to an acceptable ASDF-format version. @@ -10585,12 +11039,16 @@ Please only define ~S and secondary systems with a name starting with ~S (e.g. ~ (case (first form) ((:read-file-form) (destructuring-bind (subpath &key (at 0)) (rest form) - (safe-read-file-form (subpathname pathname subpath) - :at at :package :asdf-user))) + (let ((path (subpathname pathname subpath))) + (record-additional-system-input-file path component parent) + (safe-read-file-form path + :at at :package :asdf-user)))) ((:read-file-line) (destructuring-bind (subpath &key (at 0)) (rest form) - (safe-read-file-line (subpathname pathname subpath) - :at at))) + (let ((path (subpathname pathname subpath))) + (record-additional-system-input-file path component parent) + (safe-read-file-line (subpathname pathname subpath) + :at at)))) (otherwise (invalid)))) (t @@ -10752,7 +11210,7 @@ system names contained using COERCE-NAME. Return the result." ;; that is registered to a different location to find-system, ;; we also need to remember it in the asdf-cache. (nest - (with-asdf-cache ()) + (with-asdf-session ()) (let* ((name (coerce-name name)) (source-file (if sfp source-file (resolve-symlinks* (load-pathname)))))) (flet ((fix-case (x) (if (logical-pathname-p source-file) (string-downcase x) x)))) @@ -10771,13 +11229,12 @@ system names contained using COERCE-NAME. Return the result." :collect :it))) (load-systems* deps) dep-forms)) - (registered (system-registered-p name)) - (registered! (if registered - (rplaca registered (get-file-stamp source-file)) - (register-system - (make-instance 'system :name name :source-file source-file)))) - (system (reset-system (cdr registered!) - :name name :source-file source-file)) + (system (or (find-system-if-being-defined name) + (if-let (registered (registered-system name)) + (reset-system-class registered 'undefined-system + :name name :source-file source-file) + (register-system (make-instance 'undefined-system + :name name :source-file source-file))))) (component-options (append (remove-plist-keys '(:defsystem-depends-on :class) options) @@ -10793,7 +11250,7 @@ system names contained using COERCE-NAME. Return the result." (unless (subtypep class 'system) (error 'non-system-system :name name :class-name (class-name class))) (unless (eq (type-of system) class) - (change-class system class))) + (reset-system-class system class))) (parse-component-form nil (list* :module name :pathname directory component-options)))) (defmacro defsystem (name &body options) @@ -10804,8 +11261,9 @@ system names contained using COERCE-NAME. Return the result." (uiop/package:define-package :asdf/bundle (:recycle :asdf/bundle :asdf) (:use :uiop/common-lisp :uiop :asdf/upgrade - :asdf/component :asdf/system :asdf/find-system :asdf/find-component :asdf/operation - :asdf/action :asdf/lisp-action :asdf/plan :asdf/operate :asdf/defsystem) + :asdf/component :asdf/system :asdf/operation + :asdf/find-component ;; used by ECL + :asdf/action :asdf/lisp-action :asdf/plan :asdf/operate :asdf/parse-defsystem) (:export #:bundle-op #:bundle-type #:program-system #:bundle-system #:bundle-pathname-type #:direct-dependency-files @@ -11123,9 +11581,9 @@ or of opaque libraries shipped along the source code.")) ;; your component-depends-on method must gather the correct dependencies in the correct order. (while-collecting (collect) (map-direct-dependencies - t o c #'(lambda (sub-o sub-c) - (loop :for f :in (funcall key sub-o sub-c) - :when (funcall test f) :do (collect f)))))) + o c #'(lambda (sub-o sub-c) + (loop :for f :in (funcall key sub-o sub-c) + :when (funcall test f) :do (collect f)))))) (defun pathname-type-equal-function (type) #'(lambda (p) (equalp (pathname-type p) type))) @@ -11241,7 +11699,7 @@ or of opaque libraries shipped along the source code.")) :keep-operation 'basic-load-op)) (while-collecting (x) ;; resolve the sideway-dependencies of s (map-direct-dependencies - t 'load-op s + 'load-op s #'(lambda (o c) (when (and (typep o 'load-op) (typep c 'system)) (x c))))))) @@ -11296,7 +11754,6 @@ which is probably not what you want; you probably need to tweak your output tran (perform-lisp-load-fasl o s)) (defmethod component-depends-on ((o load-bundle-op) (s precompiled-system)) - #+xcl (declare (ignorable o)) `((load-op ,s) ,@(call-next-method)))) #| ;; Example use: @@ -11327,7 +11784,7 @@ which is probably not what you want; you probably need to tweak your output tran (defun linkable-system (x) (or (if-let (s (find-system x)) - (and (system-source-file x) s)) + (and (output-files 'lib-op s) s)) (if-let (p (system-module-pathname (coerce-name x))) (make-prebuilt-system x p)))) @@ -11344,7 +11801,8 @@ which is probably not what you want; you probably need to tweak your output tran `((lib-op ,@(unless (no-uiop c) (list (linkable-system "cmp") - (unless (or (gethash "uiop" deps) (gethash "asdf" deps)) + (unless (or (and (gethash "uiop" deps) (linkable-system "uiop")) + (and (gethash "asdf" deps) (linkable-system "asdf"))) (or (linkable-system "uiop") (linkable-system "asdf") "asdf"))))) @@ -11376,7 +11834,7 @@ which is probably not what you want; you probably need to tweak your output tran (:recycle :asdf/concatenate-source :asdf) (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/component :asdf/operation - :asdf/system :asdf/find-system + :asdf/system :asdf/action :asdf/lisp-action :asdf/plan :asdf/bundle) (:export #:concatenate-source-op @@ -11460,19 +11918,170 @@ into a single file")) (defmethod output-files ((o basic-compile-concatenated-source-op) (s system)) (lisp-compilation-output-files o s)) - (defmethod perform ((o basic-concatenate-source-op) (s system)) - (let* ((ins (input-files o s)) - (out (output-file o s)) - (tmp (tmpize-pathname out))) - (concatenate-files ins tmp) - (rename-file-overwriting-target tmp out))) - (defmethod perform ((o basic-load-concatenated-source-op) (s system)) - (perform-lisp-load-source o s)) - (defmethod perform ((o basic-compile-concatenated-source-op) (s system)) - (perform-lisp-compilation o s)) - (defmethod perform ((o basic-load-compiled-concatenated-source-op) (s system)) - (perform-lisp-load-fasl o s))) + (defmethod perform ((o basic-concatenate-source-op) (s system)) + (let* ((ins (input-files o s)) + (out (output-file o s)) + (tmp (tmpize-pathname out))) + (concatenate-files ins tmp) + (rename-file-overwriting-target tmp out))) + (defmethod perform ((o basic-load-concatenated-source-op) (s system)) + (perform-lisp-load-source o s)) + (defmethod perform ((o basic-compile-concatenated-source-op) (s system)) + (perform-lisp-compilation o s)) + (defmethod perform ((o basic-load-compiled-concatenated-source-op) (s system)) + (perform-lisp-load-fasl o s))) + +;;;; ------------------------------------------------------------------------- +;;;; Package systems in the style of quick-build or faslpath + +(uiop:define-package :asdf/package-inferred-system + (:recycle :asdf/package-inferred-system :asdf/package-system :asdf) + (:use :uiop/common-lisp :uiop + :asdf/upgrade :asdf/session + :asdf/component :asdf/system :asdf/system-registry :asdf/lisp-action + :asdf/parse-defsystem) + (:export + #:package-inferred-system #:sysdef-package-inferred-system-search + #:package-system ;; backward compatibility only. To be removed. + #:register-system-packages + #:*defpackage-forms* #:*package-inferred-systems* #:package-inferred-system-missing-package-error)) +(in-package :asdf/package-inferred-system) + +(with-upgradability () + ;; The names of the recognized defpackage forms. + (defparameter *defpackage-forms* '(defpackage define-package)) + + (defun initial-package-inferred-systems-table () + ;; Mark all existing packages are preloaded. + (let ((h (make-hash-table :test 'equal))) + (dolist (p (list-all-packages)) + (dolist (n (package-names p)) + (setf (gethash n h) t))) + h)) + + ;; Mapping from package names to systems that provide them. + (defvar *package-inferred-systems* (initial-package-inferred-systems-table)) + + (defclass package-inferred-system (system) + () + (:documentation "Class for primary systems for which secondary systems are automatically +in the one-file, one-file, one-system style: system names are mapped to files under the primary +system's system-source-directory, dependencies are inferred from the first defpackage form in +every such file")) + + ;; DEPRECATED. For backward compatibility only. To be removed in an upcoming release: + (defclass package-system (package-inferred-system) ()) + + ;; Is a given form recognizable as a defpackage form? + (defun defpackage-form-p (form) + (and (consp form) + (member (car form) *defpackage-forms*))) + + ;; Find the first defpackage form in a stream, if any + (defun stream-defpackage-form (stream) + (loop :for form = (read stream nil nil) :while form + :when (defpackage-form-p form) :return form)) + + (defun file-defpackage-form (file) + "Return the first DEFPACKAGE form in FILE." + (with-input-file (f file) + (stream-defpackage-form f))) + + (define-condition package-inferred-system-missing-package-error (system-definition-error) + ((system :initarg :system :reader error-system) + (pathname :initarg :pathname :reader error-pathname)) + (:report (lambda (c s) + (format s (compatfmt "~@<No package form found while ~ + trying to define package-inferred-system ~A from file ~A~>") + (error-system c) (error-pathname c))))) + + (defun package-dependencies (defpackage-form) + "Return a list of packages depended on by the package +defined in DEFPACKAGE-FORM. A package is depended upon if +the DEFPACKAGE-FORM uses it or imports a symbol from it." + (assert (defpackage-form-p defpackage-form)) + (remove-duplicates + (while-collecting (dep) + (loop* :for (option . arguments) :in (cddr defpackage-form) :do + (ecase option + ((:use :mix :reexport :use-reexport :mix-reexport) + (dolist (p arguments) (dep (string p)))) + ((:import-from :shadowing-import-from) + (dep (string (first arguments)))) + ((:nicknames :documentation :shadow :export :intern :unintern :recycle))))) + :from-end t :test 'equal)) + + (defun package-designator-name (package) + "Normalize a package designator to a string" + (etypecase package + (package (package-name package)) + (string package) + (symbol (string package)))) + + (defun register-system-packages (system packages) + "Register SYSTEM as providing PACKAGES." + (let ((name (or (eq system t) (coerce-name system)))) + (dolist (p (ensure-list packages)) + (setf (gethash (package-designator-name p) *package-inferred-systems*) name)))) + + (defun package-name-system (package-name) + "Return the name of the SYSTEM providing PACKAGE-NAME, if such exists, +otherwise return a default system name computed from PACKAGE-NAME." + (check-type package-name string) + (or (gethash package-name *package-inferred-systems*) + (string-downcase package-name))) + + ;; Given a file in package-inferred-system style, find its dependencies + (defun package-inferred-system-file-dependencies (file &optional system) + (if-let (defpackage-form (file-defpackage-form file)) + (remove t (mapcar 'package-name-system (package-dependencies defpackage-form))) + (error 'package-inferred-system-missing-package-error :system system :pathname file))) + + ;; Given package-inferred-system object, check whether its specification matches + ;; the provided parameters + (defun same-package-inferred-system-p (system name directory subpath around-compile dependencies) + (and (eq (type-of system) 'package-inferred-system) + (equal (component-name system) name) + (pathname-equal directory (component-pathname system)) + (equal dependencies (component-sideway-dependencies system)) + (equal around-compile (around-compile-hook system)) + (let ((children (component-children system))) + (and (length=n-p children 1) + (let ((child (first children))) + (and (eq (type-of child) 'cl-source-file) + (equal (component-name child) "lisp") + (and (slot-boundp child 'relative-pathname) + (equal (slot-value child 'relative-pathname) subpath)))))))) + ;; sysdef search function to push into *system-definition-search-functions* + (defun sysdef-package-inferred-system-search (system) + (let ((primary (primary-system-name system))) + (unless (equal primary system) + (let ((top (find-system primary nil))) + (when (typep top 'package-inferred-system) + (if-let (dir (component-pathname top)) + (let* ((sub (subseq system (1+ (length primary)))) + (f (probe-file* (subpathname dir sub :type "lisp") + :truename *resolve-symlinks*))) + (when (file-pathname-p f) + (let ((dependencies (package-inferred-system-file-dependencies f system)) + (previous (registered-system system)) + (around-compile (around-compile-hook top))) + (if (same-package-inferred-system-p previous system dir sub around-compile dependencies) + previous + (eval `(defsystem ,system + :class package-inferred-system + :source-file nil + :pathname ,dir + :depends-on ,dependencies + :around-compile ,around-compile + :components ((cl-source-file "lisp" :pathname ,sub))))))))))))))) + +(with-upgradability () + (pushnew 'sysdef-package-inferred-system-search *system-definition-search-functions*) + (setf *system-definition-search-functions* + (remove (find-symbol* :sysdef-package-system-search :asdf/package-system nil) + *system-definition-search-functions*))) ;;;; --------------------------------------------------------------------------- ;;;; asdf-output-translations @@ -11821,8 +12430,9 @@ effectively disabling the output translation facility." ;;;; See the Manual and https://bugs.launchpad.net/asdf/+bug/485918 (uiop/package:define-package :asdf/source-registry - (:recycle :asdf/source-registry :asdf) - (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/find-system) + ;; NB: asdf/find-system allows upgrade from <=3.2.1 that have initialize-source-registry there + (:recycle :asdf/source-registry :asdf/find-system :asdf) + (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/system :asdf/system-registry) (:export #:*source-registry-parameter* #:*default-source-registries* #:invalid-source-registry @@ -12195,163 +12805,28 @@ after having found a .asd file? True by default.") ;;;; ------------------------------------------------------------------------- -;;;; Package systems in the style of quick-build or faslpath - -(uiop:define-package :asdf/package-inferred-system - (:recycle :asdf/package-inferred-system :asdf/package-system :asdf) - (:use :uiop/common-lisp :uiop - :asdf/defsystem ;; Using the old name of :asdf/parse-defsystem for compatibility - :asdf/upgrade :asdf/component :asdf/system :asdf/find-system :asdf/lisp-action) - (:export - #:package-inferred-system #:sysdef-package-inferred-system-search - #:package-system ;; backward compatibility only. To be removed. - #:register-system-packages - #:*defpackage-forms* #:*package-inferred-systems* #:package-inferred-system-missing-package-error)) -(in-package :asdf/package-inferred-system) - -(with-upgradability () - ;; The names of the recognized defpackage forms. - (defparameter *defpackage-forms* '(defpackage define-package)) - - (defun initial-package-inferred-systems-table () - ;; Mark all existing packages are preloaded. - (let ((h (make-hash-table :test 'equal))) - (dolist (p (list-all-packages)) - (dolist (n (package-names p)) - (setf (gethash n h) t))) - h)) - - ;; Mapping from package names to systems that provide them. - (defvar *package-inferred-systems* (initial-package-inferred-systems-table)) - - (defclass package-inferred-system (system) - () - (:documentation "Class for primary systems for which secondary systems are automatically -in the one-file, one-file, one-system style: system names are mapped to files under the primary -system's system-source-directory, dependencies are inferred from the first defpackage form in -every such file")) - - ;; DEPRECATED. For backward compatibility only. To be removed in an upcoming release: - (defclass package-system (package-inferred-system) ()) - - ;; Is a given form recognizable as a defpackage form? - (defun defpackage-form-p (form) - (and (consp form) - (member (car form) *defpackage-forms*))) - - ;; Find the first defpackage form in a stream, if any - (defun stream-defpackage-form (stream) - (loop :for form = (read stream nil nil) :while form - :when (defpackage-form-p form) :return form)) - - (defun file-defpackage-form (file) - "Return the first DEFPACKAGE form in FILE." - (with-input-file (f file) - (stream-defpackage-form f))) - - (define-condition package-inferred-system-missing-package-error (system-definition-error) - ((system :initarg :system :reader error-system) - (pathname :initarg :pathname :reader error-pathname)) - (:report (lambda (c s) - (format s (compatfmt "~@<No package form found while ~ - trying to define package-inferred-system ~A from file ~A~>") - (error-system c) (error-pathname c))))) - - (defun package-dependencies (defpackage-form) - "Return a list of packages depended on by the package -defined in DEFPACKAGE-FORM. A package is depended upon if -the DEFPACKAGE-FORM uses it or imports a symbol from it." - (assert (defpackage-form-p defpackage-form)) - (remove-duplicates - (while-collecting (dep) - (loop* :for (option . arguments) :in (cddr defpackage-form) :do - (ecase option - ((:use :mix :reexport :use-reexport :mix-reexport) - (dolist (p arguments) (dep (string p)))) - ((:import-from :shadowing-import-from) - (dep (string (first arguments)))) - ((:nicknames :documentation :shadow :export :intern :unintern :recycle))))) - :from-end t :test 'equal)) - - (defun package-designator-name (package) - "Normalize a package designator to a string" - (etypecase package - (package (package-name package)) - (string package) - (symbol (string package)))) - - (defun register-system-packages (system packages) - "Register SYSTEM as providing PACKAGES." - (let ((name (or (eq system t) (coerce-name system)))) - (dolist (p (ensure-list packages)) - (setf (gethash (package-designator-name p) *package-inferred-systems*) name)))) - - (defun package-name-system (package-name) - "Return the name of the SYSTEM providing PACKAGE-NAME, if such exists, -otherwise return a default system name computed from PACKAGE-NAME." - (check-type package-name string) - (or (gethash package-name *package-inferred-systems*) - (string-downcase package-name))) - - ;; Given a file in package-inferred-system style, find its dependencies - (defun package-inferred-system-file-dependencies (file &optional system) - (if-let (defpackage-form (file-defpackage-form file)) - (remove t (mapcar 'package-name-system (package-dependencies defpackage-form))) - (error 'package-inferred-system-missing-package-error :system system :pathname file))) - - ;; Given package-inferred-system object, check whether its specification matches - ;; the provided parameters - (defun same-package-inferred-system-p (system name directory subpath around-compile dependencies) - (and (eq (type-of system) 'package-inferred-system) - (equal (component-name system) name) - (pathname-equal directory (component-pathname system)) - (equal dependencies (component-sideway-dependencies system)) - (equal around-compile (around-compile-hook system)) - (let ((children (component-children system))) - (and (length=n-p children 1) - (let ((child (first children))) - (and (eq (type-of child) 'cl-source-file) - (equal (component-name child) "lisp") - (and (slot-boundp child 'relative-pathname) - (equal (slot-value child 'relative-pathname) subpath)))))))) +;;; Internal hacks for backward-compatibility - ;; sysdef search function to push into *system-definition-search-functions* - (defun sysdef-package-inferred-system-search (system) - (let ((primary (primary-system-name system))) - (unless (equal primary system) - (let ((top (find-system primary nil))) - (when (typep top 'package-inferred-system) - (if-let (dir (component-pathname top)) - (let* ((sub (subseq system (1+ (length primary)))) - (f (probe-file* (subpathname dir sub :type "lisp") - :truename *resolve-symlinks*))) - (when (file-pathname-p f) - (let ((dependencies (package-inferred-system-file-dependencies f system)) - (previous (registered-system system)) - (around-compile (around-compile-hook top))) - (if (same-package-inferred-system-p previous system dir sub around-compile dependencies) - previous - (eval `(defsystem ,system - :class package-inferred-system - :source-file nil - :pathname ,dir - :depends-on ,dependencies - :around-compile ,around-compile - :components ((cl-source-file "lisp" :pathname ,sub))))))))))))))) +(uiop/package:define-package :asdf/backward-internals + (:recycle :asdf/backward-internals :asdf) + (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/find-system) + (:export #:load-sysdef)) +(in-package :asdf/backward-internals) -(with-upgradability () - (pushnew 'sysdef-package-inferred-system-search *system-definition-search-functions*) - (setf *system-definition-search-functions* - (remove (find-symbol* :sysdef-package-system-search :asdf/package-system nil) - *system-definition-search-functions*))) +(with-asdf-deprecation (:style-warning "3.2" :warning "3.4") + (defun load-sysdef (name pathname) + (declare (ignore name pathname)) + ;; Needed for backward compatibility with swank-asdf from SLIME 2015-12-01 or older. + (error "Use asdf:load-asd instead of asdf::load-sysdef"))) ;;;; ------------------------------------------------------------------------- ;;; Backward-compatible interfaces (uiop/package:define-package :asdf/backward-interface (:recycle :asdf/backward-interface :asdf) - (:use :uiop/common-lisp :uiop :asdf/upgrade - :asdf/component :asdf/system :asdf/find-system :asdf/operation :asdf/action - :asdf/lisp-action :asdf/plan :asdf/operate :asdf/output-translations) + (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session + :asdf/component :asdf/system :asdf/system-registry :asdf/operation :asdf/action + :asdf/lisp-action :asdf/plan :asdf/operate + :asdf/find-system :asdf/parse-defsystem :asdf/output-translations :asdf/bundle) (:export #:*asdf-verbose* #:operation-error #:compile-error #:compile-failed #:compile-warned @@ -12361,13 +12836,14 @@ otherwise return a default system name computed from PACKAGE-NAME." #:operation-on-failure #:operation-on-warnings #:on-failure #:on-warnings #:component-property #:run-shell-command - #:system-definition-pathname - #:explain)) + #:system-definition-pathname #:system-registered-p #:require-system + #:explain + #+ecl #:make-build)) (in-package :asdf/backward-interface) ;; NB: the warning status of these functions may have to be distinguished later, ;; as some get removed faster than the others in client code. -(with-asdf-deprecation (:style-warning "3.2") +(with-asdf-deprecation (:style-warning "3.2" :warning "3.4") ;; These conditions from ASDF 1 and 2 are used by many packages in Quicklisp; ;; but ASDF3 replaced them with somewhat different variants of uiop:compile-condition @@ -12554,20 +13030,72 @@ DEPRECATED. Use ASDF:ACTION-DESCRIPTION and/or ASDF::FORMAT-ACTION instead.")) (define-convenience-action-methods explain (operation component))) (defmethod explain ((o operation) (c component)) (asdf-message (compatfmt "~&~@<; ~@;~A~:>~%") (action-description o c)))) -;;;; ------------------------------------------------------------------------- -;;; Internal hacks for backward-compatibility -(uiop/package:define-package :asdf/backward-internals - (:recycle :asdf/backward-internals :asdf) - (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/find-system) - (:export #:load-sysdef)) -(in-package :asdf/backward-internals) +(with-asdf-deprecation (:style-warning "3.3") + (defun system-registered-p (name) + "DEPRECATED. Return a generalized boolean that is true if a system of given NAME was registered already. +NAME is a system designator, to be normalized by COERCE-NAME. +The value returned if true is a pair of a timestamp and a system object." + (if-let (system (registered-system name)) + (cons (if-let (primary-system (registered-system (primary-system-name name))) + (component-operation-time 'define-op primary-system)) + system))) -(with-asdf-deprecation (:style-warning "3.2") - (defun load-sysdef (name pathname) - (declare (ignore name pathname)) - ;; Needed for backward compatibility with swank-asdf from SLIME 2015-12-01 or older. - (error "Use asdf:load-asd instead of asdf::load-sysdef"))) + (defun require-system (system &rest keys &key &allow-other-keys) + "Ensure the specified SYSTEM is loaded, passing the KEYS to OPERATE, but do not update the +system or its dependencies if it has already been loaded." + (declare (ignore keys)) + (unless (component-loaded-p system) + (load-system system)))) + +;;; This function is for backward compatibility with ECL only. +#+ecl +(with-asdf-deprecation (:style-warning "3.2" :warning "9999") + (defun make-build (system &rest args + &key (monolithic nil) (type :fasl) (move-here nil move-here-p) + prologue-code epilogue-code no-uiop + prefix-lisp-object-files postfix-lisp-object-files extra-object-files + &allow-other-keys) + (let* ((operation (asdf/bundle::select-bundle-operation type monolithic)) + (move-here-path (if (and move-here + (typep move-here '(or pathname string))) + (ensure-pathname move-here :namestring :lisp :ensure-directory t) + (system-relative-pathname system "asdf-output/"))) + (extra-build-args (remove-plist-keys + '(:monolithic :type :move-here + :prologue-code :epilogue-code :no-uiop + :prefix-lisp-object-files :postfix-lisp-object-files + :extra-object-files) + args)) + (build-system (if (subtypep operation 'image-op) + (eval `(defsystem "asdf.make-build" + :class program-system + :source-file nil + :pathname ,(system-source-directory system) + :build-operation ,operation + :build-pathname ,(subpathname move-here-path + (file-namestring (first (output-files operation system)))) + :depends-on (,(coerce-name system)) + :prologue-code ,prologue-code + :epilogue-code ,epilogue-code + :no-uiop ,no-uiop + :prefix-lisp-object-files ,prefix-lisp-object-files + :postfix-lisp-object-files ,postfix-lisp-object-files + :extra-object-files ,extra-object-files + :extra-build-args ,extra-build-args)) + system)) + (files (output-files operation build-system))) + (operate operation build-system) + (if (or move-here + (and (null move-here-p) (member operation '(program-op image-op)))) + (loop :with dest-path = (resolve-symlinks* (ensure-directories-exist move-here-path)) + :for f :in files + :for new-f = (make-pathname :name (pathname-name f) + :type (pathname-type f) + :defaults dest-path) + :do (rename-file-overwriting-target f new-f) + :collect new-f) + files)))) ;;;; --------------------------------------------------------------------------- ;;;; Handle ASDF package upgrade, including implementation-dependent magic. @@ -12577,11 +13105,12 @@ DEPRECATED. Use ASDF:ACTION-DESCRIPTION and/or ASDF::FORMAT-ACTION instead.")) (:unintern #:loaded-systems ; makes for annoying SLIME completion #:output-files-for-system-and-operation) ; ASDF-BINARY-LOCATION function we use to detect ABL - (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/cache - :asdf/component :asdf/system :asdf/find-system :asdf/find-component + (:use :uiop/common-lisp :uiop :asdf/upgrade :asdf/session + :asdf/component :asdf/system :asdf/system-registry :asdf/find-component :asdf/operation :asdf/action :asdf/lisp-action :asdf/output-translations :asdf/source-registry - :asdf/plan :asdf/operate :asdf/parse-defsystem :asdf/bundle :asdf/concatenate-source + :asdf/forcing :asdf/plan :asdf/operate :asdf/find-system :asdf/parse-defsystem + :asdf/bundle :asdf/concatenate-source :asdf/backward-internals :asdf/backward-interface :asdf/package-inferred-system) ;; Note: (1) we are NOT automatically reexporting everything from previous packages. ;; (2) we only reexport UIOP functionality when backward-compatibility requires it. @@ -12597,13 +13126,14 @@ DEPRECATED. Use ASDF:ACTION-DESCRIPTION and/or ASDF::FORMAT-ACTION instead.")) #:non-propagating-operation #:build-op #:make #:load-op #:prepare-op #:compile-op - #:prepare-source-op #:load-source-op #:test-op + #:prepare-source-op #:load-source-op #:test-op #:define-op #:feature #:version #:version-satisfies #:upgrade-asdf #:implementation-identifier #:implementation-type #:hostname - #:input-files #:output-files #:output-file #:perform #:perform-with-restarts + #:component-depends-on ; backward-compatible name rather than action-depends-on + #:input-files #:additional-input-files + #:output-files #:output-file #:perform #:perform-with-restarts #:operation-done-p #:explain #:action-description #:component-sideway-dependencies #:needed-in-image-p - #:component-load-dependencies #:run-shell-command ; deprecated, do not use #:bundle-op #:monolithic-bundle-op #:precompiled-system #:compiled-file #:bundle-system #:program-system #:basic-compile-bundle-op #:prepare-bundle-op @@ -12621,20 +13151,15 @@ DEPRECATED. Use ASDF:ACTION-DESCRIPTION and/or ASDF::FORMAT-ACTION instead.")) #:operation-monolithic-p #:required-components #:component-loaded-p - #:component #:parent-component #:child-component #:system #:module #:file-component #:source-file #:c-source-file #:java-source-file #:cl-source-file #:cl-source-file.cl #:cl-source-file.lsp #:static-file #:doc-file #:html-file #:file-type #:source-file-type - #:register-preloaded-system #:sysdef-preloaded-system-search #:register-immutable-system #:sysdef-immutable-system-search - #:package-inferred-system #:register-system-packages - #:package-system ;; backward-compatibility during migration, to be removed in a further release. - - #:component-children ; component accessors + #:component-children #:component-children-by-name #:component-pathname #:component-relative-pathname @@ -12644,13 +13169,6 @@ DEPRECATED. Use ASDF:ACTION-DESCRIPTION and/or ASDF::FORMAT-ACTION instead.")) #:component-system #:component-encoding #:component-external-format - - #:component-depends-on ; backward-compatible name rather than action-depends-on - #:module-components ; backward-compatibility - #:operation-on-warnings #:operation-on-failure ; backward-compatibility - #:component-property ; backward-compatibility - #:traverse ; backward-compatibility - #:system-description #:system-long-description #:system-author @@ -12669,20 +13187,15 @@ DEPRECATED. Use ASDF:ACTION-DESCRIPTION and/or ASDF::FORMAT-ACTION instead.")) #:system-defsystem-depends-on #:system-depends-on #:system-weakly-depends-on - #:*system-definition-search-functions* ; variables #:*central-registry* #:*compile-file-warnings-behaviour* #:*compile-file-failure-behaviour* #:*resolve-symlinks* - #:*asdf-verbose* ;; unused. For backward-compatibility only. #:*verbose-out* - #:asdf-version - #:compile-condition #:compile-file-error #:compile-warned-error #:compile-failed-error #:compile-warned-warning #:compile-failed-warning - #:operation-error #:compile-failed #:compile-warned #:compile-error ;; backward compatibility #:error-name #:error-pathname #:load-system-definition-error @@ -12693,23 +13206,19 @@ DEPRECATED. Use ASDF:ACTION-DESCRIPTION and/or ASDF::FORMAT-ACTION instead.")) #:missing-dependency #:missing-dependency-of-version #:circular-dependency ; errors - #:duplicate-names #:non-toplevel-system #:non-system-system #:bad-system-name + #:duplicate-names #:non-toplevel-system #:non-system-system #:bad-system-name #:system-out-of-date #:package-inferred-system-missing-package-error #:operation-definition-warning #:operation-definition-error - #:try-recompiling ; restarts #:retry #:accept #:coerce-entry-to-directory #:remove-entry-from-registry #:clear-configuration-and-retry - - #:*encoding-detection-hook* #:*encoding-external-format-hook* #:*default-encoding* #:*utf-8-external-format* - #:clear-configuration #:*output-translations-parameter* #:initialize-output-translations @@ -12728,7 +13237,7 @@ DEPRECATED. Use ASDF:ACTION-DESCRIPTION and/or ASDF::FORMAT-ACTION instead.")) #:clear-source-registry #:ensure-source-registry #:process-source-registry - #:system-registered-p #:registered-systems #:already-loaded-systems + #:registered-system #:registered-systems #:already-loaded-systems #:resolve-location #:asdf-message #:*user-cache* @@ -12740,8 +13249,14 @@ DEPRECATED. Use ASDF:ACTION-DESCRIPTION and/or ASDF::FORMAT-ACTION instead.")) #:system-source-registry #:user-source-registry-directory #:system-source-registry-directory - )) + ;; The symbols below are all DEPRECATED, do not use. To be removed in a further release. + #:*asdf-verbose* #:run-shell-command + #:component-load-dependencies #:system-registered-p #:package-system + #+ecl #:make-build + #:operation-on-warnings #:operation-on-failure #:operation-error + #:compile-failed #:compile-warned #:compile-error + #:module-components #:component-property #:traverse)) ;;;; --------------------------------------------------------------------------- ;;;; ASDF-USER, where the action happens. @@ -12759,7 +13274,8 @@ DEPRECATED. Use ASDF:ACTION-DESCRIPTION and/or ASDF::FORMAT-ACTION instead.")) (uiop/package:define-package :asdf/footer (:recycle :asdf/footer :asdf) (:use :uiop/common-lisp :uiop - :asdf/upgrade :asdf/find-system :asdf/operate :asdf/bundle) + :asdf/system ;; used by ECL + :asdf/upgrade :asdf/system-registry :asdf/operate :asdf/bundle) ;; Happily, all those implementations all have the same module-provider hook interface. #+(or abcl clasp cmucl clozure ecl mkcl sbcl) (:import-from #+abcl :sys #+(or clasp cmucl ecl) :ext #+clozure :ccl #+mkcl :mk-ext #+sbcl sb-ext @@ -12822,7 +13338,7 @@ DEPRECATED. Use ASDF:ACTION-DESCRIPTION and/or ASDF::FORMAT-ACTION instead.")) (setf excl:*warn-on-nested-reader-conditionals* uiop/common-lisp::*acl-warn-save*)) ;; Advertise the features we provide. - (dolist (f '(:asdf :asdf2 :asdf3 :asdf3.1 :asdf3.2 :asdf-package-system)) (pushnew f *features*)) + (dolist (f '(:asdf :asdf2 :asdf3 :asdf3.1 :asdf3.2 :asdf3.3)) (pushnew f *features*)) ;; Provide both lowercase and uppercase, to satisfy more people, especially LispWorks users. (provide "asdf") (provide "ASDF") diff --git a/src/contrib/asdf/doc/asdf.html b/src/contrib/asdf/doc/asdf.html index 8e85b2f6d..46a1668a7 100644 --- a/src/contrib/asdf/doc/asdf.html +++ b/src/contrib/asdf/doc/asdf.html @@ -31,7 +31,7 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --> -<!-- Created by GNU Texinfo 6.3, http://www.gnu.org/software/texinfo/ --> +<!-- Created by GNU Texinfo 6.1, http://www.gnu.org/software/texinfo/ --> <head> <title>ASDF Manual</title> @@ -235,6 +235,7 @@ ul.no-bullet {list-style: none} <ul class="no-bullet"> <li><a name="toc-_0060_0060My-Common-Lisp-implementation-comes-with-an-outdated-version-of-ASDF_002e-What-to-do_003f_0027_0027" href="#My-Common-Lisp-implementation-comes-with-an-outdated-version-of-ASDF_002e-What-to-do_003f">13.4.1 “My Common Lisp implementation comes with an outdated version of ASDF. What to do?”</a></li> <li><a name="toc-_0060_0060I_0027m-a-Common-Lisp-implementation-vendor_002e-When-and-how-should-I-upgrade-ASDF_003f_0027_0027" href="#I_0027m-a-Common-Lisp-implementation-vendor_002e-When-and-how-should-I-upgrade-ASDF_003f">13.4.2 “I’m a Common Lisp implementation vendor. When and how should I upgrade ASDF?”</a></li> + <li><a name="toc-After-upgrading-ASDF_002c-ASDF-_0028and-Quicklisp_0029-can_0027t-find-my-systems" href="#After-upgrading-ASDF">13.4.3 After upgrading ASDF, ASDF (and Quicklisp) can’t find my systems</a></li> </ul></li> <li><a name="toc-Issues-with-configuring-ASDF-1" href="#Issues-with-configuring-ASDF">13.5 Issues with configuring ASDF</a> <ul class="no-bullet"> @@ -276,7 +277,7 @@ ul.no-bullet {list-style: none} <a name="Top"></a> <a name="ASDF_003a-Another-System-Definition-Facility"></a> <h1 class="top">ASDF: Another System Definition Facility</h1> -<p>Manual for Version 3.2.1 +<p>Manual for Version 3.3.0 </p> <p>This manual describes ASDF, a system definition facility @@ -353,16 +354,19 @@ ASDF is <em>not</em> a tool for library and system <em>installation</em>; it plays a role like <code>make</code> or <code>ant</code>, not like a package manager. In particular, ASDF should not to be confused with Quicklisp or ASDF-Install, that attempt to find and download ASDF systems for you. -Despite what the name might suggest, ASDF-Install is not part of ASDF, but a separate piece of software. +Despite what the name might suggest, +ASDF-Install was never a part of ASDF, it was a separate piece of software. ASDF-Install is also unmaintained and obsolete. We recommend you use Quicklisp (<a href="http://www.quicklisp.org/">http://www.quicklisp.org/</a>) instead, a Common Lisp package manager which works well and is being actively maintained. If you want to download software from version control instead of tarballs, -so you may more easily modify it, we recommend clbuild (<a href="http://common-lisp.net/project/clbuild/">http://common-lisp.net/project/clbuild/</a>). -We recommend <samp>~/common-lisp/</samp> -as a place into which to install Common Lisp software; -starting with ASDF 3.1.2, it is included in the default source-registry configuration. +so you may more easily modify it, +we recommend clbuild (<a href="http://common-lisp.net/project/clbuild/">http://common-lisp.net/project/clbuild/</a>). +As for where on your filesystem to install Common Lisp software, +we recommend subdirectories of <samp>~/common-lisp/</samp>: +starting with ASDF 3.1.2 (2014), this hierarchy is included +in the default source-registry configuration. </p> <p>Finally, note that this manual is incomplete. All the bases are covered, @@ -511,8 +515,9 @@ before you contact us and raise an issue. <h3 class="section">3.3 Upgrading ASDF</h3> <p>If your implementation already provides ASDF 3 or later (and it should), -but you want a more recent ASDF version than your implementation provides, -then you just need to ensure the more recent ASDF is installed in a configured path, like any other system. +but you want a more recent ASDF version than your implementation provides, then +you just need to ensure the more recent ASDF is installed in a configured path, +like any other system. We recommend you download an official tarball or checkout a release from git into <samp>~/common-lisp/asdf/</samp>. (see <a href="#Configuring-ASDF-to-find-your-systems">Configuring ASDF to find your systems</a>). @@ -532,15 +537,18 @@ see <a href="#Replacing-your-implementation_0027s-ASDF">Replacing your implement <h3 class="section">3.4 Replacing your implementation’s ASDF</h3> <p>All maintained implementations now provide ASDF 3 in their latest release. -If your doesn’t, we recommend you upgrade it. +If yours doesn’t, we recommend you upgrade it. </p> -<p>Now, if you insist on using an old implementation that didn’t provide ASDF or provided an old version, +<p>Now, if you insist on using an old implementation +that didn’t provide ASDF or provided an old version, we recommend installing a recent ASDF, as explained below, into your implementation’s installation directory. Thus your modified implementation will now provide ASDF 3. -This requires proper write permissions and may necessitate execution as a system administrator. +This requires proper write permissions and +may necessitate execution as a system administrator. </p> -<p>The ASDF source repository contains a tool to help you upgrade your implementation’s ASDF. +<p>The ASDF source repository contains a tool to +help you upgrade your implementation’s ASDF. You can invoke it from the shell command-line as <code>tools/asdf-tools install-asdf lispworks</code> (where you can replace <code>lispworks</code> by the name of the relevant implementation), @@ -681,17 +689,34 @@ may already have configured system-managed libraries for you. <p>Novices may skip this section. +Please <em>do not</em> use the central-registry if you are a novice, +and <em>do not</em> instruct novices to use the central-registry. </p> <p>The old way to configure ASDF to find your systems is by <code>push</code>ing directory pathnames onto the variable <code>asdf:*central-registry*</code>. </p> -<p>You must configure this variable between the time you load ASDF -and the time you first try to use it. -Loading and configuring ASDF presumably happen -as part of some initialization script that builds or starts -your Common Lisp software system. -(For instance, some SBCL users used to put it in their <samp>~/.sbclrc</samp>.) +<p>You <em>must</em> configure this variable <em>after</em> you load ASDF 3 or later, +yet <em>before</em> the first time you try to use it. +This loading and configuring of ASDF must happen +as part of some initialization script: +typically, either a script you maintain that builds your project, +or your implementation’s initialization script +(e.g. <samp>~/.sbclrc</samp> for SBCL). +</p> +<p>Also, if you are using an ancient ASDF 2 or earlier to load ASDF 3 or later, +then after it loads the ancient ASDF, your script <em>must</em> configure +the central-registry a first time to tell ASDF 1 or 2 where to find ASDF 3, +then load ASDF 3 with e.g. <code>(asdf:operate 'asdf:load-op "asdf")</code>, +then configure the central-registry again, because +ASDF 3 will not preserve the central-registry from ASDF 2 when upgrading. +You should probably be using the source-registry instead, which will be preserved +(unless you manually called <code>asdf:initialize-source-registry</code> with an argument, +in which case you will have to do it again indeed). +However, if you are using an ancient ASDF 2 or earlier, +we <em>strongly</em> recommend that you should instead upgrade your implementation, +or overwrite the ancient ASDF installation with a more recent one: +See <a href="#Replacing-your-implementation_0027s-ASDF">Replacing your implementation's ASDF</a>. </p> <p>The <code>asdf:*central-registry*</code> is empty by default in ASDF 2 or ASDF 3, but is still supported for compatibility with ASDF 1. @@ -714,6 +739,8 @@ is necessary to tell Lisp that you’re discussing a directory rather than a file. If you leave it out, ASDF is likely to look in <code>/home/me/src/</code> instead of <code>/home/me/src/foo/</code> as you intended, and fail to find your system definition. +Modern versions of ASDF will issue an error and offer you to +remove such entries from the central-registry. </p> <p>Typically there are a lot of <samp>.asd</samp> files, and a common idiom was to put @@ -1309,6 +1336,12 @@ simple-component-name := string pathname-specifier := pathname | string | symbol +version-specifier := string + | (:read-file-form <pathname-specifier> <form-specifier>?) + | (:read-file-line <pathname-specifier> <line-specifier>?) +line-specifier := :at integer # base zero +form-specifier := :at [ integer | ( integer+ )] + method-form := (operation-name qual lambda-list &rest body) qual := method qualifier? @@ -1510,12 +1543,17 @@ had the version strings been interpreted as decimal fractions. the <code>:version</code> argument can be an expression that is resolved to such a string using the following trivial domain-specific language: in addition to being a literal string, it can be an expression of the form -<code>(:read-file-form <pathname-or-string> :at <access-at-specifier>)</code>, -which will be resolved by reading a form in the specified pathname -(read as a subpathname of the current system if relative or a unix-namestring). +<code>(:read-file-form <pathname-or-string> [:at <access-at-specifier]>)</code>, +or <code>(:read-file-line <pathname-or-string> [:at +<access-at-specifier]?>)</code>. +As the name suggests, the former will be resolved by reading a form in the specified pathname +(read as a subpathname of the current system if relative or a +unix-namestring), and the latter by reading a line. You may use a <code>uiop:access-at</code> specifier -with the (optional) <code>:at</code> keyword, -by default the specifier is <code>0</code>, meaning the first form is returned; +with the <code>:at</code> keyword, +by default the specifier is <code>0</code>, meaning the first form/line is +returned. +For <code>:read-file-form</code>, subforms can also be specified, with e.g. <code>(1 2 2)</code> specifying “the third subform (index 2) of the third subform (index 2) of the second form (index 1)” in the file (mind the off-by-one error in the English language). @@ -3486,7 +3524,7 @@ The speedup will only happen if the implementation-provided ASDF is recent enoug since the upgrade will itself be found but after the old version has scanned the directories without heeding such a cache. To upgrade the implementation-provided ASDF, -use our script <code>tools/install-asdf.lisp</code>. +see <a href="#Replacing-your-implementation_0027s-ASDF">Replacing your implementation's ASDF</a>. </p> <hr> @@ -5308,17 +5346,21 @@ Happily, CMUCL comes with a recent ASDF, and XCL is more of a working demo than something you’d use seriously anyway. </li><li> For the above reasons, your build and startup scripts -should load, configure and upgrade ASDF among the very first things they do, -and ensure that ASDF 3 or later is present indeed, -before they start using ASDF to load anything else. - -</li><li> Now that all implementations provide ASDF 3.1 or later (since May 2016), +should load ASDF 3, configure it, and upgrade it, +among the very first things they do. +They should ensure that only ASDF 3 or later is used indeed, +and error out if ASDF 2 or earlier was used. + +</li><li> Now that (since May 2016) all maintained implementations +(i.e. having had at least one release since 2014, +or a commit on their public source code repository) +provide ASDF 3.1 or later, the simple solution is just to use code as below in your setup, and when it fails, upgrade your implementation or replace its ASDF. (see <a href="#Replacing-your-implementation_0027s-ASDF">Replacing your implementation's ASDF</a>): <div class="example"> <pre class="example">(require "asdf") -#-asdf3 (error "ASDF 3 or bust") +#-asdf3.1 (error "ASDF 3.1 or bust") </pre></div> </li><li> For scripts that try to use ASDF simply via <code>require</code> at first, and @@ -5326,13 +5368,14 @@ make heroic attempts to load it the hard way if at first they don’t succee see <samp>tools/load-asdf.lisp</samp> distributed with the ASDF source repository, or the code of <a href="https://cliki.net/cl-launch"><code>cl-launch</code></a>. -</li><li> Note that in addition to the pitfalls and constraints above, +</li><li> <a name="reinitializeASDFAfterUpgrade"></a>Note that in addition to the pitfalls and constraints above, these heroic scripts (should you wish to write or modify one), must take care to configure ASDF <em>twice</em>. -A first time, right after you load the old ASDF 2 and before you upgrade to the new ASDF 3, +A first time, right after you load the old ASDF 2 (or 1!) +and before you upgrade to the new ASDF 3, so it may find where you put ASDF 3. -A second time, because some implementations can’t handle a smooth upgrade to ASDF 3, -and lose configuration as they do. +A second time, because most implementations can’t handle a smooth upgrade from ASDF 2 to ASDF 3, +so ASDF 3 doesn’t try (anymore) and loses any configuration from ASDF 2. <div class="lisp"> <pre class="lisp">(ignore-errors (funcall 'require "asdf")) ;; <--- try real hard ;; <--- insert heroics here, if that failed to provide ASDF 2 or 3 @@ -5486,7 +5529,38 @@ when they upgrade to the upstream version. </li></ul> - +<hr> +<a name="After-upgrading-ASDF"></a> +<a name="After-upgrading-ASDF_002c-ASDF-_0028and-Quicklisp_0029-can_0027t-find-my-systems"></a> +<h4 class="subsection">13.4.3 After upgrading ASDF, ASDF (and Quicklisp) can’t find my systems</h4> +<a name="index-_002acentral_002dregistry_002a"></a> +<a name="index-Quicklisp"></a> + +<p>When you upgrade the ASDF running in your Lisp image +from an ancient ASDF 2 or older to ASDF 3 or newer, +then you may have to re-configure ASDF. +If your configuration only consists in +using the source-registry and output-translations (as it should), +and if you are not explicitly calling <code>asdf:initialize-source-registry</code> +or <code>asdf:initialize-output-translations</code> with a non-nil argument, +then ASDF will reconfigure itself. +Otherwise, you will have to configure ASDF 2 (or older) to find ASDF 3, +then configure ASDF 3. +Notably, <var>*central-registry*</var> is not maintained across upgrades from ASDF 2. +See <a href="#reinitializeASDFAfterUpgrade">note about ASDF reconfiguration after upgrade</a>. +</p> +<p>Problems like this may be experienced if one loads Quicklisp +(which as of this writing bundles an obsolete ASDF version 2.26), +upgrades ASDF, and then tries to load new systems. +The correct solution is to load the most up-to-date ASDF you can, +<em>then</em> configure it, <em>then</em> load Quicklisp and any other extension. +Do <em>not</em> try to upgrade from ASDF 2 <em>after</em> loading Quicklisp, +for it will leave both ASDF and Quicklisp badly misconfigured. +For details see the discussion at the above cross-reference. +</p> +<p>Also, if you are experiencing such failures due to Quicklisp shipping an ancient ASDF, +please complain to Zach Beane about it. +</p> <hr> <a name="Issues-with-configuring-ASDF"></a> @@ -5884,24 +5958,17 @@ interested, too. ;; Load the test script support. (load "script-support.lisp") -;; Initialize the script support. -;; This will also change your *package* to asdf-test. +;; Initialize the script support for interaction. +;; This will also change your *package* to asdf-test +;; after frobbing the asdf-test package to make it usable. ;; NB: this function is also available from package cl-user, ;; and also available with the shorter name da in both packages. -(asdf-test::debug-asdf) - -;; In case you modified ASDF since you last tested it, -;; you need to update asdf.lisp itself by evaluating 'make' in a shell, -;; or (require "asdf") (asdf:load-system :asdf) in another CL REPL, -;; if not done in this REPL above. -;; *Then*, in this REPL, you need to evaluate: -;(asdf-test::compile-load-asdf) +(asdf-test:debug-asdf) ;; Now, you may experiment with test code from a .script file. ;; See the instructions given at the end of your failing test ;; to identify which form is needed, e.g. -(frob-packages) -(asdf::with-asdf-cache () (load "test-utilities.script")) +(run-test-script "test-utilities.script") </pre></div> @@ -6016,6 +6083,8 @@ see the <samp>TODO</samp> file in the source repository. <a class="summary-letter" href="#Concept-Index_cp_letter-P"><b>P</b></a> +<a class="summary-letter" href="#Concept-Index_cp_letter-Q"><b>Q</b></a> + <a class="summary-letter" href="#Concept-Index_cp_letter-R"><b>R</b></a> <a class="summary-letter" href="#Concept-Index_cp_letter-S"><b>S</b></a> @@ -6105,6 +6174,9 @@ see the <samp>TODO</samp> file in the source repository. <tr><td></td><td valign="top"><a href="#index-pathname-specifiers">pathname specifiers</a>:</td><td> </td><td valign="top"><a href="#The-defsystem-grammar">The defsystem grammar</a></td></tr> <tr><td></td><td valign="top"><a href="#index-Primary-system-name">Primary system name</a>:</td><td> </td><td valign="top"><a href="#Components">Components</a></td></tr> <tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-Index_cp_letter-Q">Q</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Quicklisp">Quicklisp</a>:</td><td> </td><td valign="top"><a href="#After-upgrading-ASDF">After upgrading ASDF</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> <tr><th><a name="Concept-Index_cp_letter-R">R</a></th><td></td><td></td></tr> <tr><td></td><td valign="top"><a href="#index-readtables">readtables</a>:</td><td> </td><td valign="top"><a href="#How-do-I-work-with-readtables_003f">How do I work with readtables?</a></td></tr> <tr><td colspan="4"> <hr></td></tr> @@ -6147,6 +6219,8 @@ see the <samp>TODO</samp> file in the source repository. <a class="summary-letter" href="#Concept-Index_cp_letter-P"><b>P</b></a> +<a class="summary-letter" href="#Concept-Index_cp_letter-Q"><b>Q</b></a> + <a class="summary-letter" href="#Concept-Index_cp_letter-R"><b>R</b></a> <a class="summary-letter" href="#Concept-Index_cp_letter-S"><b>S</b></a> @@ -6366,6 +6440,7 @@ see the <samp>TODO</samp> file in the source repository. <tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th><a name="Variable-Index_vr_symbol-1">*</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002acentral_002dregistry_002a"><code>*central-registry*</code></a>:</td><td> </td><td valign="top"><a href="#After-upgrading-ASDF">After upgrading ASDF</a></td></tr> <tr><td></td><td valign="top"><a href="#index-_002acompile_002dfile_002dfailure_002dbehaviour_002a"><code>*compile-file-failure-behaviour*</code></a>:</td><td> </td><td valign="top"><a href="#Error-handling">Error handling</a></td></tr> <tr><td></td><td valign="top"><a href="#index-_002acompile_002dfile_002dwarnings_002dbehaviour_002a"><code>*compile-file-warnings-behaviour*</code></a>:</td><td> </td><td valign="top"><a href="#Error-handling">Error handling</a></td></tr> <tr><td></td><td valign="top"><a href="#index-_002adefault_002dsource_002dregistry_002dexclusions_002a"><code>*default-source-registry-exclusions*</code></a>:</td><td> </td><td valign="top"><a href="#Search-Algorithm">Search Algorithm</a></td></tr> diff --git a/src/contrib/asdf/doc/asdf.info b/src/contrib/asdf/doc/asdf.info index c881a7017..976fb1b97 100644 --- a/src/contrib/asdf/doc/asdf.info +++ b/src/contrib/asdf/doc/asdf.info @@ -1,4 +1,4 @@ -This is asdf.info, produced by makeinfo version 6.3 from asdf.texinfo. +This is asdf.info, produced by makeinfo version 6.1 from asdf.texinfo. This manual describes ASDF, a system definition facility for Common Lisp programs and libraries. @@ -43,7 +43,7 @@ File: asdf.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) ASDF: Another System Definition Facility **************************************** -Manual for Version 3.2.1 +Manual for Version 3.3.0 This manual describes ASDF, a system definition facility for Common Lisp programs and libraries. @@ -228,6 +228,7 @@ Issues with installing the proper version of ASDF * My Common Lisp implementation comes with an outdated version of ASDF. What to do?:: * I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?:: +* After upgrading ASDF, ASDF (and Quicklisp) can't find my systems: After upgrading ASDF. Issues with configuring ASDF @@ -276,16 +277,17 @@ ASDF::, for a description of the ASDF internals and how to extend ASDF. it plays a role like 'make' or 'ant', not like a package manager. In particular, ASDF should not to be confused with Quicklisp or ASDF-Install, that attempt to find and download ASDF systems for you. -Despite what the name might suggest, ASDF-Install is not part of ASDF, -but a separate piece of software. ASDF-Install is also unmaintained and -obsolete. We recommend you use Quicklisp (<http://www.quicklisp.org/>) -instead, a Common Lisp package manager which works well and is being -actively maintained. If you want to download software from version -control instead of tarballs, so you may more easily modify it, we -recommend clbuild (<http://common-lisp.net/project/clbuild/>). We -recommend '~/common-lisp/' as a place into which to install Common Lisp -software; starting with ASDF 3.1.2, it is included in the default -source-registry configuration. +Despite what the name might suggest, ASDF-Install was never a part of +ASDF, it was a separate piece of software. ASDF-Install is also +unmaintained and obsolete. We recommend you use Quicklisp +(<http://www.quicklisp.org/>) instead, a Common Lisp package manager +which works well and is being actively maintained. If you want to +download software from version control instead of tarballs, so you may +more easily modify it, we recommend clbuild +(<http://common-lisp.net/project/clbuild/>). As for where on your +filesystem to install Common Lisp software, we recommend subdirectories +of '~/common-lisp/': starting with ASDF 3.1.2 (2014), this hierarchy is +included in the default source-registry configuration. Finally, note that this manual is incomplete. All the bases are covered, but many advanced topics are only barely alluded to, and there @@ -446,7 +448,7 @@ File: asdf.info, Node: Replacing your implementation's ASDF, Next: Loading ASD ======================================== All maintained implementations now provide ASDF 3 in their latest -release. If your doesn't, we recommend you upgrade it. +release. If yours doesn't, we recommend you upgrade it. Now, if you insist on using an old implementation that didn't provide ASDF or provided an old version, we recommend installing a recent ASDF, @@ -612,16 +614,33 @@ File: asdf.info, Node: Configuring ASDF to find your systems --- old style, Ne 4.2 Configuring ASDF to find your systems -- old style ====================================================== -Novices may skip this section. +Novices may skip this section. Please _do not_ use the central-registry +if you are a novice, and _do not_ instruct novices to use the +central-registry. The old way to configure ASDF to find your systems is by 'push'ing directory pathnames onto the variable 'asdf:*central-registry*'. - You must configure this variable between the time you load ASDF and -the time you first try to use it. Loading and configuring ASDF -presumably happen as part of some initialization script that builds or -starts your Common Lisp software system. (For instance, some SBCL users -used to put it in their '~/.sbclrc'.) + You _must_ configure this variable _after_ you load ASDF 3 or later, +yet _before_ the first time you try to use it. This loading and +configuring of ASDF must happen as part of some initialization script: +typically, either a script you maintain that builds your project, or +your implementation's initialization script (e.g. '~/.sbclrc' for +SBCL). + + Also, if you are using an ancient ASDF 2 or earlier to load ASDF 3 or +later, then after it loads the ancient ASDF, your script _must_ +configure the central-registry a first time to tell ASDF 1 or 2 where to +find ASDF 3, then load ASDF 3 with e.g. '(asdf:operate 'asdf:load-op +"asdf")', then configure the central-registry again, because ASDF 3 will +not preserve the central-registry from ASDF 2 when upgrading. You +should probably be using the source-registry instead, which will be +preserved (unless you manually called 'asdf:initialize-source-registry' +with an argument, in which case you will have to do it again indeed). +However, if you are using an ancient ASDF 2 or earlier, we _strongly_ +recommend that you should instead upgrade your implementation, or +overwrite the ancient ASDF installation with a more recent one: *Note +Replacing your implementation's ASDF::. The 'asdf:*central-registry*' is empty by default in ASDF 2 or ASDF 3, but is still supported for compatibility with ASDF 1. When used, it @@ -640,7 +659,8 @@ pathname.(2) The trailing directory name separator is necessary to tell Lisp that you're discussing a directory rather than a file. If you leave it out, ASDF is likely to look in '/home/me/src/' instead of '/home/me/src/foo/' as you intended, and fail to find your system -definition. +definition. Modern versions of ASDF will issue an error and offer you +to remove such entries from the central-registry. Typically there are a lot of '.asd' files, and a common idiom was to put _symbolic links_ to all of one's '.asd' files in a common directory @@ -1214,6 +1234,12 @@ File: asdf.info, Node: The defsystem grammar, Next: Other code in .asd files, pathname-specifier := pathname | string | symbol + version-specifier := string + | (:read-file-form <pathname-specifier> <form-specifier>?) + | (:read-file-line <pathname-specifier> <line-specifier>?) + line-specifier := :at integer # base zero + form-specifier := :at [ integer | ( integer+ )] + method-form := (operation-name qual lambda-list &rest body) qual := method qualifier? @@ -1383,14 +1409,17 @@ happened had the version strings been interpreted as decimal fractions. can be an expression that is resolved to such a string using the following trivial domain-specific language: in addition to being a literal string, it can be an expression of the form '(:read-file-form -<pathname-or-string> :at <access-at-specifier>)', which will be resolved -by reading a form in the specified pathname (read as a subpathname of -the current system if relative or a unix-namestring). You may use a -'uiop:access-at' specifier with the (optional) ':at' keyword, by default -the specifier is '0', meaning the first form is returned; subforms can -also be specified, with e.g. '(1 2 2)' specifying "the third subform -(index 2) of the third subform (index 2) of the second form (index 1)" -in the file (mind the off-by-one error in the English language). +<pathname-or-string> [:at <access-at-specifier]>)', or '(:read-file-line +<pathname-or-string> [:at <access-at-specifier]?>)'. As the name +suggests, the former will be resolved by reading a form in the specified +pathname (read as a subpathname of the current system if relative or a +unix-namestring), and the latter by reading a line. You may use a +'uiop:access-at' specifier with the ':at' keyword, by default the +specifier is '0', meaning the first form/line is returned. For +':read-file-form', subforms can also be specified, with e.g. '(1 2 2)' +specifying "the third subform (index 2) of the third subform (index 2) +of the second form (index 1)" in the file (mind the off-by-one error in +the English language). System definers are encouraged to use version identifiers of the form X.Y.Z for major version, minor version and patch level, where @@ -3177,8 +3206,8 @@ speedup will only happen if the implementation-provided ASDF is recent enough (3.1.3.7 or later); it is not enough for a recent ASDF upgrade to be present, since the upgrade will itself be found but after the old version has scanned the directories without heeding such a cache. To -upgrade the implementation-provided ASDF, use our script -'tools/install-asdf.lisp'. +upgrade the implementation-provided ASDF, *note Replacing your +implementation's ASDF::. File: asdf.info, Node: Configuration API, Next: Introspection, Prev: Caching Results, Up: Controlling where ASDF searches for systems @@ -4866,17 +4895,19 @@ when upgrading from ASDF 2, due to limitations in ASDF 2. ASDF, and XCL is more of a working demo than something you'd use seriously anyway. - * For the above reasons, your build and startup scripts should load, - configure and upgrade ASDF among the very first things they do, and - ensure that ASDF 3 or later is present indeed, before they start - using ASDF to load anything else. - - * Now that all implementations provide ASDF 3.1 or later (since May - 2016), the simple solution is just to use code as below in your - setup, and when it fails, upgrade your implementation or replace - its ASDF. (*note Replacing your implementation's ASDF::): + * For the above reasons, your build and startup scripts should load + ASDF 3, configure it, and upgrade it, among the very first things + they do. They should ensure that only ASDF 3 or later is used + indeed, and error out if ASDF 2 or earlier was used. + + * Now that (since May 2016) all maintained implementations (i.e. + having had at least one release since 2014, or a commit on their + public source code repository) provide ASDF 3.1 or later, the + simple solution is just to use code as below in your setup, and + when it fails, upgrade your implementation or replace its ASDF. + (*note Replacing your implementation's ASDF::): (require "asdf") - #-asdf3 (error "ASDF 3 or bust") + #-asdf3.1 (error "ASDF 3.1 or bust") * For scripts that try to use ASDF simply via 'require' at first, and make heroic attempts to load it the hard way if at first they don't @@ -4887,10 +4918,11 @@ when upgrading from ASDF 2, due to limitations in ASDF 2. * Note that in addition to the pitfalls and constraints above, these heroic scripts (should you wish to write or modify one), must take care to configure ASDF _twice_. A first time, right after you load - the old ASDF 2 and before you upgrade to the new ASDF 3, so it may - find where you put ASDF 3. A second time, because some - implementations can't handle a smooth upgrade to ASDF 3, and lose - configuration as they do. + the old ASDF 2 (or 1!) and before you upgrade to the new ASDF 3, + so it may find where you put ASDF 3. A second time, because most + implementations can't handle a smooth upgrade from ASDF 2 to ASDF + 3, so ASDF 3 doesn't try (anymore) and loses any configuration from + ASDF 2. (ignore-errors (funcall 'require "asdf")) ;; <--- try real hard ;; <--- insert heroics here, if that failed to provide ASDF 2 or 3 ;; <--- insert configuration here, if that succeeded @@ -4937,6 +4969,7 @@ File: asdf.info, Node: Issues with installing the proper version of ASDF, Next * My Common Lisp implementation comes with an outdated version of ASDF. What to do?:: * I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?:: +* After upgrading ASDF, ASDF (and Quicklisp) can't find my systems: After upgrading ASDF. File: asdf.info, Node: My Common Lisp implementation comes with an outdated version of ASDF. What to do?, Next: I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?, Prev: Issues with installing the proper version of ASDF, Up: Issues with installing the proper version of ASDF @@ -4954,7 +4987,7 @@ recommend you replace your implementation's ASDF. *Note Replacing your implementation's ASDF::. -File: asdf.info, Node: I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?, Prev: My Common Lisp implementation comes with an outdated version of ASDF. What to do?, Up: Issues with installing the proper version of ASDF +File: asdf.info, Node: I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?, Next: After upgrading ASDF, Prev: My Common Lisp implementation comes with an outdated version of ASDF. What to do?, Up: Issues with installing the proper version of ASDF 13.4.2 "I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?" ------------------------------------------------------------------------------------- @@ -5021,6 +5054,36 @@ should report upstream and that we will fix ASAP. can merge them back in for the benefit of your users when they upgrade to the upstream version. + +File: asdf.info, Node: After upgrading ASDF, Prev: I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?, Up: Issues with installing the proper version of ASDF + +13.4.3 After upgrading ASDF, ASDF (and Quicklisp) can't find my systems +----------------------------------------------------------------------- + +When you upgrade the ASDF running in your Lisp image from an ancient +ASDF 2 or older to ASDF 3 or newer, then you may have to re-configure +ASDF. If your configuration only consists in using the source-registry +and output-translations (as it should), and if you are not explicitly +calling 'asdf:initialize-source-registry' or +'asdf:initialize-output-translations' with a non-nil argument, then ASDF +will reconfigure itself. Otherwise, you will have to configure ASDF 2 +(or older) to find ASDF 3, then configure ASDF 3. Notably, +*CENTRAL-REGISTRY* is not maintained across upgrades from ASDF 2. *Note +note about ASDF reconfiguration after upgrade: +reinitializeASDFAfterUpgrade. + + Problems like this may be experienced if one loads Quicklisp (which +as of this writing bundles an obsolete ASDF version 2.26), upgrades +ASDF, and then tries to load new systems. The correct solution is to +load the most up-to-date ASDF you can, _then_ configure it, _then_ load +Quicklisp and any other extension. Do _not_ try to upgrade from ASDF 2 +_after_ loading Quicklisp, for it will leave both ASDF and Quicklisp +badly misconfigured. For details see the discussion at the above +cross-reference. + + Also, if you are experiencing such failures due to Quicklisp shipping +an ancient ASDF, please complain to Zach Beane about it. + File: asdf.info, Node: Issues with configuring ASDF, Next: Issues with using and extending ASDF to define systems, Prev: Issues with installing the proper version of ASDF, Up: FAQ @@ -5403,24 +5466,17 @@ interested, too. ;; Load the test script support. (load "script-support.lisp") - ;; Initialize the script support. - ;; This will also change your *package* to asdf-test. + ;; Initialize the script support for interaction. + ;; This will also change your *package* to asdf-test + ;; after frobbing the asdf-test package to make it usable. ;; NB: this function is also available from package cl-user, ;; and also available with the shorter name da in both packages. - (asdf-test::debug-asdf) - - ;; In case you modified ASDF since you last tested it, - ;; you need to update asdf.lisp itself by evaluating 'make' in a shell, - ;; or (require "asdf") (asdf:load-system :asdf) in another CL REPL, - ;; if not done in this REPL above. - ;; *Then*, in this REPL, you need to evaluate: - ;(asdf-test::compile-load-asdf) + (asdf-test:debug-asdf) ;; Now, you may experiment with test code from a .script file. ;; See the instructions given at the end of your failing test ;; to identify which form is needed, e.g. - (frob-packages) - (asdf::with-asdf-cache () (load "test-utilities.script")) + (run-test-script "test-utilities.script") File: asdf.info, Node: Ongoing Work, Next: Bibliography, Prev: FAQ, Up: Top @@ -5511,34 +5567,34 @@ Concept Index * :asdf2: Introduction. (line 6) * :asdf3: Introduction. (line 6) * :build-operation: The defsystem grammar. - (line 128) + (line 134) * :compile-check: Controlling file compilation. (line 6) * :default-registry source config directive: Configuration DSL. (line 6) * :defsystem-depends-on: The defsystem grammar. - (line 120) + (line 126) * :directory source config directive: Configuration DSL. (line 6) * :exclude source config directive: Configuration DSL. (line 6) * :feature dependencies: The defsystem grammar. - (line 270) + (line 279) * :if-feature component option: The defsystem grammar. - (line 390) + (line 399) * :ignore-invalid-entries source config directive: Configuration DSL. (line 6) * :include source config directive: Configuration DSL. (line 6) * :inherit-configuration source config directive: Configuration DSL. (line 6) * :require dependencies: The defsystem grammar. - (line 260) + (line 269) * :tree source config directive: Configuration DSL. (line 6) * :version: The defsystem form. (line 68) * :version <1>: The defsystem grammar. - (line 229) + (line 235) * :version <2>: Common attributes of components. (line 23) * :weakly-depends-on: The defsystem grammar. - (line 140) + (line 146) * also-exclude source config directive: Configuration DSL. (line 6) * around-compile keyword: Controlling file compilation. (line 6) @@ -5579,23 +5635,25 @@ Concept Index * launchpad: Where do I report a bug?. (line 6) * logical pathnames: The defsystem grammar. - (line 289) + (line 298) * mailing list: Mailing list. (line 6) * operation: Operations. (line 6) * pathname specifiers: The defsystem grammar. - (line 162) + (line 168) * Primary system name: Components. (line 70) +* Quicklisp: After upgrading ASDF. + (line 6) * readtables: How do I work with readtables?. (line 6) * serial dependencies: The defsystem grammar. - (line 335) + (line 344) * system: Components. (line 6) * system designator: Components. (line 6) * System names: Components. (line 70) * Testing for ASDF: Introduction. (line 6) * tree source config directive: Configuration DSL. (line 6) * version specifiers: The defsystem grammar. - (line 229) + (line 235) File: asdf.info, Node: Function and Class Index, Next: Variable Index, Prev: Concept Index, Up: Top @@ -5776,6 +5834,8 @@ Variable Index �[index�] * Menu: +* *central-registry*: After upgrading ASDF. + (line 6) * *compile-file-failure-behaviour*: Error handling. (line 19) * *compile-file-warnings-behaviour*: Error handling. (line 19) * *default-source-registry-exclusions*: Search Algorithm. (line 6) @@ -5791,7 +5851,7 @@ Variable Index * *nil-pathname*: Some Utility Functions. (line 44) * *oldest-forward-compatible-asdf-version*: Pitfalls of the upgrade to ASDF 3. - (line 83) + (line 86) * *source-registry-parameter*: *source-registry-parameter* variable. (line 6) * *standard-output*: How can I capture ASDF's output?. @@ -5806,139 +5866,141 @@ Variable Index Tag Table: Node: Top1684 -Node: Introduction7706 -Node: Quick start summary10009 -Node: Loading ASDF11716 -Node: Loading a pre-installed ASDF12018 -Ref: Loading a pre-installed ASDF-Footnote-113831 -Node: Checking whether ASDF is loaded14013 -Node: Upgrading ASDF14927 -Node: Replacing your implementation's ASDF15915 -Node: Loading ASDF from source17338 -Node: Configuring ASDF18439 -Node: Configuring ASDF to find your systems19212 -Ref: Configuring ASDF to find your systems-Footnote-122517 -Ref: Configuring ASDF to find your systems-Footnote-222764 -Ref: Configuring ASDF to find your systems-Footnote-323046 -Node: Configuring ASDF to find your systems --- old style23507 -Ref: Configuring ASDF to find your systems --- old style-Footnote-125969 -Ref: Configuring ASDF to find your systems --- old style-Footnote-226201 -Ref: Configuring ASDF to find your systems --- old style-Footnote-326968 -Node: Configuring where ASDF stores object files27124 -Node: Resetting the ASDF configuration28527 -Node: Using ASDF29584 -Node: Loading a system29795 -Node: Convenience Functions30812 -Ref: Convenience Functions-Footnote-136172 -Node: Moving on36250 -Node: Defining systems with defsystem36621 -Node: The defsystem form37049 -Node: A more involved example40455 -Ref: A more involved example-Footnote-147437 -Node: The defsystem grammar48119 -Ref: if-feature-option65617 -Node: Other code in .asd files67160 -Node: The package-inferred-system extension68296 -Node: The object model of ASDF72563 -Ref: The object model of ASDF-Footnote-174894 -Ref: The object model of ASDF-Footnote-275246 -Node: Operations75573 -Ref: operate76678 -Ref: make-operation79414 -Node: Predefined operations of ASDF79835 -Ref: test-op81949 -Node: Creating new operations89838 -Node: Components95051 -Ref: System names98535 -Ref: Components-Footnote-1103207 -Ref: Components-Footnote-2103503 -Node: Common attributes of components103825 -Ref: required-features105387 -Node: Pre-defined subclasses of component111234 -Node: Creating new component types113668 -Node: Dependencies114958 -Node: Functions116829 -Node: Controlling where ASDF searches for systems118663 -Node: Configurations119285 -Node: Truenames and other dangers122760 -Node: XDG base directory124046 -Node: Backward Compatibility125460 -Node: Configuration DSL126176 -Node: Configuration Directories131731 -Node: The here directive133558 -Node: Shell-friendly syntax for configuration135451 -Node: Search Algorithm136468 -Node: Caching Results138338 -Node: Configuration API141582 -Node: Introspection143621 -Node: *source-registry-parameter* variable143885 -Node: Information about system dependencies144454 -Node: Status145370 -Node: Rejected ideas145825 -Node: TODO148206 -Node: Credits for the source-registry148391 -Node: Controlling where ASDF saves compiled files148926 -Ref: Controlling where ASDF saves compiled files-Footnote-1150338 -Node: Output Configurations150382 -Ref: Output Configurations-Footnote-1153243 -Node: Output Backward Compatibility153309 -Node: Output Configuration DSL156035 -Node: Output Configuration Directories161490 -Node: Output Shell-friendly syntax for configuration163047 -Node: Semantics of Output Translations164566 -Node: Output Caching Results166135 -Node: Output location API166615 -Node: Credits for output translations169037 -Node: Error handling169557 -Node: Miscellaneous additional functionality170398 -Node: Controlling file compilation170870 -Node: Controlling source file character encoding174136 -Node: Miscellaneous Functions180953 -Ref: system-relative-pathname181250 -Ref: Miscellaneous Functions-Footnote-1187697 -Node: Some Utility Functions187808 -Node: Getting the latest version198586 -Node: FAQ199531 -Node: Where do I report a bug?199926 -Node: Mailing list200291 -Node: What has changed between ASDF 1 ASDF 2 and ASDF 3?200626 -Node: What are ASDF 1 2 3?202800 -Node: How do I detect the ASDF version?203841 -Node: ASDF can portably name files in subdirectories206148 -Node: Output translations207698 -Node: Source Registry Configuration208725 -Node: Usual operations are made easier to the user210352 -Node: Many bugs have been fixed210938 -Node: ASDF itself is versioned212770 -Node: ASDF can be upgraded213645 -Node: Decoupled release cycle214797 -Node: Pitfalls of the transition to ASDF 2215726 -Node: Pitfalls of the upgrade to ASDF 3219996 -Ref: Pitfalls of the upgrade to ASDF 3-Footnote-1224365 -Node: What happened to the bundle operations224535 -Node: Issues with installing the proper version of ASDF225700 -Node: My Common Lisp implementation comes with an outdated version of ASDF. What to do?226171 -Node: I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?227104 -Node: Issues with configuring ASDF230987 -Node: How can I customize where fasl files are stored?231362 -Node: How can I wholly disable the compiler output cache?232455 -Node: Issues with using and extending ASDF to define systems233834 -Node: How can I cater for unit-testing in my system?234631 -Node: How can I cater for documentation generation in my system?235519 -Node: How can I maintain non-Lisp (e.g. C) source files?236040 -Ref: report-bugs236472 -Node: I want to put my module's files at the top level. How do I do this?236472 -Node: How do I create a system definition where all the source files have a .cl extension?239622 -Node: How do I mark a source file to be loaded only and not compiled?241595 -Node: How do I work with readtables?242591 -Node: How can I capture ASDF's output?246318 -Node: LOAD-PATHNAME has a weird value246789 -Node: ASDF development FAQs248275 -Node: How do I run the tests interactively in a REPL?248514 -Node: Ongoing Work250380 -Node: Bibliography250659 -Node: Concept Index254130 -Node: Function and Class Index260989 -Node: Variable Index272763 +Node: Introduction7796 +Node: Quick start summary10155 +Node: Loading ASDF11862 +Node: Loading a pre-installed ASDF12164 +Ref: Loading a pre-installed ASDF-Footnote-113977 +Node: Checking whether ASDF is loaded14159 +Node: Upgrading ASDF15073 +Node: Replacing your implementation's ASDF16061 +Node: Loading ASDF from source17485 +Node: Configuring ASDF18586 +Node: Configuring ASDF to find your systems19359 +Ref: Configuring ASDF to find your systems-Footnote-122664 +Ref: Configuring ASDF to find your systems-Footnote-222911 +Ref: Configuring ASDF to find your systems-Footnote-323193 +Node: Configuring ASDF to find your systems --- old style23654 +Ref: Configuring ASDF to find your systems --- old style-Footnote-127258 +Ref: Configuring ASDF to find your systems --- old style-Footnote-227490 +Ref: Configuring ASDF to find your systems --- old style-Footnote-328257 +Node: Configuring where ASDF stores object files28413 +Node: Resetting the ASDF configuration29816 +Node: Using ASDF30873 +Node: Loading a system31084 +Node: Convenience Functions32101 +Ref: Convenience Functions-Footnote-137461 +Node: Moving on37539 +Node: Defining systems with defsystem37910 +Node: The defsystem form38338 +Node: A more involved example41744 +Ref: A more involved example-Footnote-148726 +Node: The defsystem grammar49408 +Ref: if-feature-option67366 +Node: Other code in .asd files68909 +Node: The package-inferred-system extension70045 +Node: The object model of ASDF74312 +Ref: The object model of ASDF-Footnote-176643 +Ref: The object model of ASDF-Footnote-276995 +Node: Operations77322 +Ref: operate78427 +Ref: make-operation81163 +Node: Predefined operations of ASDF81584 +Ref: test-op83698 +Node: Creating new operations91587 +Node: Components96800 +Ref: System names100284 +Ref: Components-Footnote-1104956 +Ref: Components-Footnote-2105252 +Node: Common attributes of components105574 +Ref: required-features107136 +Node: Pre-defined subclasses of component112983 +Node: Creating new component types115417 +Node: Dependencies116707 +Node: Functions118578 +Node: Controlling where ASDF searches for systems120412 +Node: Configurations121034 +Node: Truenames and other dangers124509 +Node: XDG base directory125795 +Node: Backward Compatibility127209 +Node: Configuration DSL127925 +Node: Configuration Directories133480 +Node: The here directive135307 +Node: Shell-friendly syntax for configuration137200 +Node: Search Algorithm138217 +Node: Caching Results140087 +Node: Configuration API143335 +Node: Introspection145374 +Node: *source-registry-parameter* variable145638 +Node: Information about system dependencies146207 +Node: Status147123 +Node: Rejected ideas147578 +Node: TODO149959 +Node: Credits for the source-registry150144 +Node: Controlling where ASDF saves compiled files150679 +Ref: Controlling where ASDF saves compiled files-Footnote-1152091 +Node: Output Configurations152135 +Ref: Output Configurations-Footnote-1154996 +Node: Output Backward Compatibility155062 +Node: Output Configuration DSL157788 +Node: Output Configuration Directories163243 +Node: Output Shell-friendly syntax for configuration164800 +Node: Semantics of Output Translations166319 +Node: Output Caching Results167888 +Node: Output location API168368 +Node: Credits for output translations170790 +Node: Error handling171310 +Node: Miscellaneous additional functionality172151 +Node: Controlling file compilation172623 +Node: Controlling source file character encoding175889 +Node: Miscellaneous Functions182706 +Ref: system-relative-pathname183003 +Ref: Miscellaneous Functions-Footnote-1189450 +Node: Some Utility Functions189561 +Node: Getting the latest version200339 +Node: FAQ201284 +Node: Where do I report a bug?201679 +Node: Mailing list202044 +Node: What has changed between ASDF 1 ASDF 2 and ASDF 3?202379 +Node: What are ASDF 1 2 3?204553 +Node: How do I detect the ASDF version?205594 +Node: ASDF can portably name files in subdirectories207901 +Node: Output translations209451 +Node: Source Registry Configuration210478 +Node: Usual operations are made easier to the user212105 +Node: Many bugs have been fixed212691 +Node: ASDF itself is versioned214523 +Node: ASDF can be upgraded215398 +Node: Decoupled release cycle216550 +Node: Pitfalls of the transition to ASDF 2217479 +Node: Pitfalls of the upgrade to ASDF 3221749 +Ref: reinitializeASDFAfterUpgrade225451 +Ref: Pitfalls of the upgrade to ASDF 3-Footnote-1226323 +Node: What happened to the bundle operations226493 +Node: Issues with installing the proper version of ASDF227658 +Node: My Common Lisp implementation comes with an outdated version of ASDF. What to do?228219 +Node: I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?229152 +Node: After upgrading ASDF233064 +Node: Issues with configuring ASDF234715 +Node: How can I customize where fasl files are stored?235090 +Node: How can I wholly disable the compiler output cache?236183 +Node: Issues with using and extending ASDF to define systems237562 +Node: How can I cater for unit-testing in my system?238359 +Node: How can I cater for documentation generation in my system?239247 +Node: How can I maintain non-Lisp (e.g. C) source files?239768 +Ref: report-bugs240200 +Node: I want to put my module's files at the top level. How do I do this?240200 +Node: How do I create a system definition where all the source files have a .cl extension?243350 +Node: How do I mark a source file to be loaded only and not compiled?245323 +Node: How do I work with readtables?246319 +Node: How can I capture ASDF's output?250046 +Node: LOAD-PATHNAME has a weird value250517 +Node: ASDF development FAQs252003 +Node: How do I run the tests interactively in a REPL?252242 +Node: Ongoing Work253809 +Node: Bibliography254088 +Node: Concept Index257559 +Node: Function and Class Index264554 +Node: Variable Index276328 End Tag Table diff --git a/src/contrib/asdf/doc/asdf.pdf b/src/contrib/asdf/doc/asdf.pdf index d1a670e03df6fcae074400dd8685a95c7e14e793..a27a7e5fe941d873719d906af339da81dc2df4b2 100644 GIT binary patch delta 162625 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�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	`Kcww?^`h{9^Rcrpn0~zM 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 E0E|PJxc~qF delta 158109 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≫f=60_b!Q=%nz5GXT4B& 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 -- GitLab