Changeset 14883
- Timestamp:
- 10/01/16 13:27:03 (7 years ago)
- Location:
- trunk/abcl
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/doc/asdf/asdf.texinfo
r14873 r14883 66 66 @titlepage 67 67 @title ASDF: Another System Definition Facility 68 @subtitle Manual for Version 3.1.7.2 668 @subtitle Manual for Version 3.1.7.27 69 69 @c The following two commands start the copyright page. 70 70 @page -
trunk/abcl/src/org/armedbear/lisp/asdf.lisp
r14873 r14883 1 1 ;;; -*- mode: Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; buffer-read-only: t; -*- 2 ;;; This is ASDF 3.1.7.2 6: Another System Definition Facility.2 ;;; This is ASDF 3.1.7.27: Another System Definition Facility. 3 3 ;;; 4 4 ;;; Feedback, bug reports, and patches are all welcome: … … 2411 2411 ;;; Parsing filenames 2412 2412 (with-upgradability () 2413 (declaim (ftype function ensure-pathname)) ; forward reference 2414 2413 2415 (defun split-unix-namestring-directory-components 2414 2416 (unix-namestring &key ensure-directory dot-dot) … … 3989 3991 :until (eq form eof) 3990 3992 :do (setf results (multiple-value-list (eval form))) 3991 :finally (return ( apply 'valuesresults)))))3993 :finally (return (values-list results))))) 3992 3994 3993 3995 (defun eval-thunk (thunk) … … 4115 4117 (after (return (call-function after okp))) 4116 4118 ((and want-pathname-p (not want-stream-p)) (return (call-function thunk okp))) 4117 (t (return ( apply 'valuesresults)))))4119 (t (return (values-list results))))) 4118 4120 (when (and okp (not (call-function keep))) 4119 4121 (ignore-errors (delete-file-if-exists okp)))))) … … 4529 4531 t)))) 4530 4532 (if lisp-interaction 4531 ( apply 'valuesresults)4533 (values-list results) 4532 4534 (shell-boolean-exit (first results))))))) 4533 4535 … … 4561 4563 (call-image-dump-hook) 4562 4564 (setf *image-restored-p* nil) 4563 #-(or clisp clozure cmucllispworks sbcl scl)4565 #-(or clisp clozure (and cmucl executable) lispworks sbcl scl) 4564 4566 (when executable 4565 4567 (error "Dumping an executable is not supported on this implementation! Aborting.")) … … 4595 4597 (setf ext::*gc-run-time* 0) 4596 4598 (apply 'ext:save-lisp filename 4597 #+cmucl :executable #+cmucl t 4598 (when executable '(:init-function restore-image :process-command-line nil)))) 4599 :allow-other-keys t ;; hush SCL and old versions of CMUCL 4600 #+(and cmucl executable) :executable #+(and cmucl executable) t 4601 (when executable '(:init-function restore-image :process-command-line nil 4602 :quiet t :load-init-file nil :site-init nil)))) 4599 4603 #+gcl 4600 4604 (progn … … 7164 7168 #:asdf-message #:*verbose-out* 7165 7169 #:upgrading-p #:when-upgrading #:upgrade-asdf #:defparameter* 7166 #:*post-upgrade-cleanup-hook* #: *post-upgrade-restart-hook* #:cleanup-upgraded-asdf7170 #:*post-upgrade-cleanup-hook* #:cleanup-upgraded-asdf 7167 7171 ;; There will be no symbol left behind! 7168 7172 #:intern*) … … 7208 7212 ;; Private hook for functions to run after ASDF has upgraded itself from an older variant: 7209 7213 (defvar *post-upgrade-cleanup-hook* ()) 7210 ;; Private hook for functions to run after ASDF is restarted, whether by starting a process7211 ;; from a dumped image or after upgrading from an older variant:7212 ;; TODO: understand what happened with that hook, why functions are registered on it but it is7213 ;; never called anymore. This is a bug that should be fixed before next release (3.1.8)!7214 (defvar *post-upgrade-restart-hook* ())7215 7214 ;; Private function to detect whether the current upgrade counts as an incompatible 7216 7215 ;; data schema upgrade implying the need to drop data. … … 7250 7249 ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5 7251 7250 ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67 7252 (asdf-version "3.1.7.2 6")7251 (asdf-version "3.1.7.27") 7253 7252 (existing-version (asdf-version))) 7254 7253 (setf *asdf-version* asdf-version) … … 7312 7311 (*compile-print* nil)) 7313 7312 (handler-bind (((or style-warning) #'muffle-warning)) 7314 (symbol-call :asdf :load-system :asdf :verbose nil)))) 7315 7316 ;; Register the upgrade-configuration function from UIOP, 7317 ;; to ensure configuration is upgraded as needed. 7318 (register-hook-function '*post-upgrade-cleanup-hook* 'upgrade-configuration)) 7319 7313 (symbol-call :asdf :load-system :asdf :verbose nil))))) 7320 7314 ;;;; ------------------------------------------------------------------------- 7321 7315 ;;;; Components … … 7369 7363 (defgeneric component-pathname (component) 7370 7364 (:documentation "Pathname of the COMPONENT if any, or NIL.")) 7371 (defgeneric (component-relative-pathname) (component)7365 (defgeneric* (component-relative-pathname) (component) 7372 7366 ;; in ASDF4, rename that to component-specified-pathname ? 7373 7367 (:documentation "Specified pathname of the COMPONENT, … … 7398 7392 ;; Deprecated: Backward compatible way of computing the FILE-TYPE of a component. 7399 7393 ;; TODO: find users, have them stop using that, remove it for ASDF4. 7400 (defgeneric (source-file-type) (component system)7394 (defgeneric* (source-file-type) (component system) 7401 7395 (:documentation "DEPRECATED. Use the FILE-TYPE of a COMPONENT instead.")) 7402 7396 … … 7763 7757 (system-source-file (find-system system-name))) 7764 7758 (defmethod system-source-file ((system-name symbol)) 7765 (system-source-file (find-system system-name))) 7759 (when system-name 7760 (system-source-file (find-system system-name)))) 7766 7761 7767 7762 (defun system-source-directory (system-designator) … … 7770 7765 (pathname-directory-pathname (system-source-file system-designator))) 7771 7766 7772 (defun (system-relative-pathname) (system name &key type)7767 (defun* (system-relative-pathname) (system name &key type) 7773 7768 "Given a SYSTEM, and a (Unix-style relative path) NAME of a file (or directory) of given TYPE, 7774 7769 return the absolute pathname of a corresponding file under that system's source code pathname." … … 8041 8036 system))))) 8042 8037 8038 (defun map-systems (fn) 8039 "Apply FN to each defined system. 8040 8041 FN should be a function of one argument. It will be 8042 called with an object of type asdf:system." 8043 (loop :for registered :being :the :hash-values :of *defined-systems* 8044 :do (funcall fn (cdr registered)))) 8045 8043 8046 8044 8047 ;;; Preloaded systems: in the image even if you can't find source files backing them. … … 8071 8074 (if-let (system (and (not (registered-system name)) (sysdef-preloaded-system-search name))) 8072 8075 (register-system system))) 8073 8074 (defun ensure-all-preloaded-systems-registered ()8075 "Make sure all registered preloaded systems are defined.8076 This function is run whenever ASDF is upgraded."8077 (loop :for name :being :the :hash-keys :of *preloaded-systems*8078 :do (ensure-preloaded-system-registered name)))8079 (register-hook-function '*post-upgrade-restart-hook* 'ensure-all-preloaded-systems-registered)8080 8076 8081 8077 (defun register-preloaded-system (system-name &rest keys &key (version t) &allow-other-keys) … … 8148 8144 Preloaded systems (including immutable ones) will be reset, other systems will be de-registered." 8149 8145 (loop :for name :being :the :hash-keys :of *defined-systems* 8150 :unless (equal name "asdf") :do (clear-system name))) 8151 8152 (register-hook-function '*post-upgrade-cleanup-hook* 'clear-defined-systems nil) 8153 8154 (defun map-systems (fn) 8155 "Apply FN to each defined system. 8156 8157 FN should be a function of one argument. It will be 8158 called with an object of type asdf:system." 8159 (loop :for registered :being :the :hash-values :of *defined-systems* 8160 :do (funcall fn (cdr registered)))) 8146 :unless (member name '("asdf" "uiop") :test 'equal) :do (clear-system name))) 8161 8147 8162 8148 … … 8370 8356 (list (namestring pathname) version) *old-asdf-systems* 8371 8357 #'(lambda () 8372 (let ((old-pathname 8373 (if-let (pair (system-registered-p "asdf")) 8374 (system-source-file (cdr pair))))) 8358 (let ((old-pathname (system-source-file (registered-system "asdf")))) 8375 8359 (warn "~@<~ 8376 8360 You are using ASDF version ~A ~:[(probably from (require \"asdf\") ~ … … 8420 8404 (pathname (ensure-pathname 8421 8405 (or (and (typep found '(or pathname string)) (pathname found)) 8422 ( and found-system (system-source-file found-system))8423 ( and previous (system-source-file previous)))8406 (system-source-file found-system) 8407 (system-source-file previous)) 8424 8408 :want-absolute t :resolve-symlinks *resolve-symlinks*)) 8425 8409 (foundp (and (or found-system pathname previous) t))) … … 8444 8428 (locate-system name) 8445 8429 (assert (eq foundp (and (or found-system pathname previous) t))) 8446 (let ((previous-pathname ( and previous (system-source-file previous)))8430 (let ((previous-pathname (system-source-file previous)) 8447 8431 (system (or previous found-system))) 8448 8432 (when (and found-system (not previous)) … … 8604 8588 (unless (component-parent component) 8605 8589 (let ((name (coerce-name name))) 8606 (unset-asdf-cache-entry `(find-system ,name)) 8607 (unset-asdf-cache-entry `(locate-system ,name)))))))) 8590 (unset-asdf-cache-entry `(find-system ,name)))))))) 8608 8591 8609 8592 ;; Resolve dependency specification DEP-SPEC in the context of COMPONENT. … … 8718 8701 (:export 8719 8702 #:action #:define-convenience-action-methods 8720 #: explain #:action-description8703 #:action-description 8721 8704 #:downward-operation #:upward-operation #:sideway-operation #:selfward-operation #:non-propagating-operation 8722 8705 #:component-depends-on … … 8725 8708 #:component-operation-time #:mark-operation-done #:compute-action-stamp 8726 8709 #:perform #:perform-with-restarts #:retry #:accept 8727 #:traverse-actions #:traverse-sub-actions #:required-components ;; in plan8728 8710 #:action-path #:find-action #:stamp #:done-p 8729 8711 #:operation-definition-warning #:operation-definition-error ;; condition … … 8742 8724 and a class-name or class designates the canonical instance of the designated class." 8743 8725 '(or operation null symbol class))) 8744 8745 8746 ;;; TODO: These should be moved to asdf/plan and be made simple defuns.8747 (with-upgradability ()8748 (defgeneric traverse-actions (actions &key &allow-other-keys))8749 (defgeneric traverse-sub-actions (operation component &key &allow-other-keys))8750 (defgeneric required-components (component &key &allow-other-keys)))8751 8726 8752 8727 … … 8824 8799 (format nil (compatfmt "~@<~A on ~A~@:>") 8825 8800 (type-of operation) component)) 8826 8827 ;; This is for compatibility with ASDF 1, and is deprecated.8828 ;; TODO: move it to backward-interface8829 (defgeneric* (explain) (operation component)8830 (:documentation "Display a message describing an action"))8831 (defmethod explain ((o operation) (c component))8832 (asdf-message (compatfmt "~&~@<; ~@;~A~:>~%") (action-description o c)))8833 (define-convenience-action-methods explain (operation component))8834 8801 8835 8802 (defun format-action (stream action &optional colon-p at-sign-p) … … 9621 9588 ;;;; Visiting dependencies of an action and computing action stamps 9622 9589 (with-upgradability () 9623 (defun (map-direct-dependencies) (plan operation component fun)9590 (defun* (map-direct-dependencies) (plan operation component fun) 9624 9591 "Call FUN on all the valid dependencies of the given action in the given plan" 9625 9592 (loop* :for (dep-o-spec . dep-c-specs) :in (component-depends-on operation component) … … 9631 9598 :do (funcall fun dep-o dep-c)))) 9632 9599 9633 (defun (reduce-direct-dependencies) (plan operation component combinator seed)9600 (defun* (reduce-direct-dependencies) (plan operation component combinator seed) 9634 9601 "Reduce the direct dependencies to a value computed by iteratively calling COMBINATOR 9635 9602 for each dependency action on the dependency's operation and component and an accumulator … … 9641 9608 seed) 9642 9609 9643 (defun (direct-dependencies) (plan operation component)9610 (defun* (direct-dependencies) (plan operation component) 9644 9611 "Compute a list of the direct dependencies of the action within the plan" 9645 9612 (reduce-direct-dependencies plan operation component #'acons nil)) … … 9935 9902 (call-next-method))) 9936 9903 9937 (def method traverse-actions(actions &rest keys &key plan-class &allow-other-keys)9904 (defun* (traverse-actions) (actions &rest keys &key plan-class &allow-other-keys) 9938 9905 "Given a list of actions, build a plan with these actions as roots." 9939 9906 (let ((plan (apply 'make-instance (or plan-class 'filtered-sequential-plan) keys))) … … 9941 9908 plan)) 9942 9909 9910 (defgeneric traverse-sub-actions (operation component &key &allow-other-keys)) 9943 9911 (define-convenience-action-methods traverse-sub-actions (operation component &key)) 9944 9912 (defmethod traverse-sub-actions ((operation operation) (component component) … … 9953 9921 :collect (cons o c)))) 9954 9922 9955 (def method required-components(system &rest keys &key (goal-operation 'load-op) &allow-other-keys)9923 (defun* (required-components) (system &rest keys &key (goal-operation 'load-op) &allow-other-keys) 9956 9924 "Given a SYSTEM and a GOAL-OPERATION (default LOAD-OP), traverse the dependencies and 9957 9925 return a list of the components involved in building the desired action." … … 9972 9940 (:export 9973 9941 #:operate #:oos 9974 #:*systems-being-operated*9975 9942 #:build-op #:make 9976 9943 #:load-system #:load-systems #:load-systems* … … 10014 9981 :if-no-component (error 'missing-component :requires component)) 10015 9982 10016 ;; TODO: actually, the use as a hash-set is write-only, so it can be reduced to a boolean, 10017 ;; and then possibly replaced by checking for say *asdf-cache*. 10018 (defvar *systems-being-operated* nil 10019 "A hash-set of names of systems being operated on, or NIL") 9983 (defvar *in-operate* nil 9984 "Are we in operate?") 10020 9985 10021 9986 ;; This method ensures that an ASDF upgrade is attempted as the very first thing, … … 10026 9991 (on-warnings *compile-file-warnings-behaviour*) 10027 9992 (on-failure *compile-file-failure-behaviour*) &allow-other-keys) 10028 (let* ((systems-being-operated *systems-being-operated*) 10029 (*systems-being-operated* (or systems-being-operated (make-hash-table :test 'equal))) 9993 (nest 9994 (with-asdf-cache ()) 9995 (let ((in-operate *in-operate*) 9996 (*in-operate* t) 10030 9997 (operation-remaker ;; how to remake the operation after ASDF was upgraded (if it was) 10031 10032 10033 10034 10035 9998 (etypecase operation 9999 (operation (let ((name (type-of operation)) 10000 (initargs (operation-original-initargs operation))) 10001 #'(lambda () (apply 'make-operation name :original-initargs initargs initargs)))) 10002 ((or symbol string) (constantly operation)))) 10036 10003 (component-path (typecase component ;; to remake the component after ASDF upgrade 10037 10004 (component (component-find-path component)) 10038 (t component)))) 10039 ;; Before we operate on any system, make sure ASDF is up-to-date, 10040 ;; for if an upgrade is ever attempted at any later time, there may be BIG trouble. 10041 (unless systems-being-operated 10042 (when (upgrade-asdf) 10043 ;; If we were upgraded, restart OPERATE the hardest of ways, for 10044 ;; its function may have been redefined, its symbol uninterned, its package deleted. 10045 (return-from operate 10046 (apply 'operate (funcall operation-remaker) component-path keys)))) 10005 (t component))))) 10006 ;; Before we operate on any system, make sure ASDF is up-to-date, 10007 ;; for if an upgrade is ever attempted at any later time, there may be BIG trouble. 10008 (progn 10009 (unless in-operate 10010 (when (upgrade-asdf) 10011 ;; If we were upgraded, restart OPERATE the hardest of ways, for 10012 ;; its function may have been redefined, its symbol uninterned, its package deleted. 10013 (return-from operate 10014 (apply 'operate (funcall operation-remaker) component-path keys))))) 10047 10015 ;; Setup proper bindings around any operate call. 10048 (with-asdf-cache () 10049 (let* ((*verbose-out* (and verbose *standard-output*)) 10050 (*compile-file-warnings-behaviour* on-warnings) 10051 (*compile-file-failure-behaviour* on-failure)) 10052 (call-next-method))))) 10016 (let* ((*verbose-out* (and verbose *standard-output*)) 10017 (*compile-file-warnings-behaviour* on-warnings) 10018 (*compile-file-failure-behaviour* on-failure)) 10019 (call-next-method)))) 10053 10020 10054 10021 (defmethod operate :before ((operation operation) (component component) 10055 10022 &key version &allow-other-keys) 10056 (let ((system (component-system component)))10057 (setf (gethash (coerce-name system) *systems-being-operated*) system))10058 10023 (unless (version-satisfies component version) 10059 10024 (error 'missing-component-of-version :requires component :version version))) … … 10142 10107 Note that this returns true even if the component is not up to date." 10143 10108 (if-let ((component (find-component component () :registered t))) 10144 (action-already-done-p nil (make- instance'load-op) component)))10109 (action-already-done-p nil (make-operation 'load-op) component))) 10145 10110 10146 10111 (defun already-loaded-systems () … … 10226 10191 (defun restart-upgraded-asdf () 10227 10192 ;; If we're in the middle of something, restart it. 10228 (when *asdf-cache* 10229 (let ((l (loop :for k :being :the hash-keys :of *asdf-cache* 10230 :when (eq (first k) 'find-system) :collect (second k)))) 10231 (clrhash *asdf-cache*) 10232 (dolist (s l) (find-system s nil))))) 10233 (register-hook-function '*post-upgrade-restart-hook* 'restart-upgraded-asdf) 10193 (let ((systems-being-defined 10194 (when *asdf-cache* 10195 (prog1 10196 (loop :for k :being :the hash-keys :of *asdf-cache* 10197 :when (eq (first k) 'find-system) :collect (second k)) 10198 (clrhash *asdf-cache*))))) 10199 ;; Regardless, clear defined systems, since they might be invalid 10200 ;; after an incompatible ASDF upgrade. 10201 (clear-defined-systems) 10202 ;; The configuration also may have to be upgraded. 10203 (upgrade-configuration) 10204 ;; If we were in the middle of an operation, be sure to restore the system being defined. 10205 (dolist (s systems-being-defined) (find-system s nil)))) 10206 (register-hook-function '*post-upgrade-cleanup-hook* 'restart-upgraded-asdf) 10234 10207 10235 10208 ;; The following function's symbol is from asdf/find-system. … … 10296 10269 ((eql t) -1) 10297 10270 (pathname 10298 (let ((directory (pathname-directory (car x)))) 10271 (let ((directory 10272 (normalize-pathname-directory-component 10273 (pathname-directory (car x))))) 10299 10274 (if (listp directory) (length directory) 0)))))))) 10300 10275 new-value) … … 11139 11114 (mapcar 'parse-dependency-def dd-list)) 11140 11115 11141 (defun (parse-component-form) (parent options &key previous-serial-component)11116 (defun* (parse-component-form) (parent options &key previous-serial-component) 11142 11117 (destructuring-bind 11143 11118 (type name &rest rest &key … … 11341 11316 (:documentation "Abstract operation for linking files together")) 11342 11317 11343 (defclass gather-op (bundle-op) 11344 ;; TODO: rename the slot and reader gather-op to gather-operation 11345 ((gather-op :initform nil :allocation :class :reader gather-op) 11318 (defclass gather-operation (bundle-op) 11319 ((gather-operation :initform nil :allocation :class :reader gather-operation) 11346 11320 (gather-type :initform :no-output-file :allocation :class :reader gather-type)) 11347 11321 (:documentation "Abstract operation for gathering many input files from a system")) … … 11356 11330 ;; Non-monolithic operations typically use compile-op as the dependent operation, 11357 11331 ;; and all transitive sub-components as required components (excluding other systems). 11358 (defmethod component-depends-on ((o gather-op ) (s system))11332 (defmethod component-depends-on ((o gather-operation) (s system)) 11359 11333 (let* ((mono (operation-monolithic-p o)) 11360 11334 (deps … … 11365 11339 ;; NB: the explicit make-operation on ECL and MKCL 11366 11340 ;; ensures that we drop the original-initargs and its magic flags when recursing. 11367 `((,( make-operation (or (gather-op o) (if mono 'lib-op 'compile-op))) ,@deps)11341 `((,(or (gather-operation o) (if mono 'lib-op 'compile-op)) ,@deps) 11368 11342 ,@(call-next-method)))) 11369 11343 … … 11382 11356 (:documentation "Operation class for loading the bundles of a system's dependencies")) 11383 11357 11384 (defclass lib-op (link-op gather-op non-propagating-operation)11358 (defclass lib-op (link-op gather-operation non-propagating-operation) 11385 11359 ((gather-type :initform :object :allocation :class) 11386 11360 (bundle-type :initform :lib :allocation :class)) … … 11395 11369 11396 11370 (defclass compile-bundle-op (basic-compile-bundle-op selfward-operation 11397 #+(or clasp ecl mkcl) link-op #-(or clasp ecl) gather-op )11371 #+(or clasp ecl mkcl) link-op #-(or clasp ecl) gather-operation) 11398 11372 ((selfward-operation :initform '(prepare-bundle-op #+(or clasp ecl) lib-op) 11399 11373 :allocation :class)) … … 11415 11389 ;; but instead inherit from a basic-FOO-op as with basic-compile-bundle-op above. 11416 11390 11417 (defclass dll-op (link-op gather-op non-propagating-operation)11391 (defclass dll-op (link-op gather-operation non-propagating-operation) 11418 11392 ((gather-type :initform :object :allocation :class) 11419 11393 (bundle-type :initform :dll :allocation :class)) … … 11440 11414 (defclass monolithic-compile-bundle-op 11441 11415 (monolithic-bundle-op basic-compile-bundle-op 11442 #+(or clasp ecl mkcl) link-op gather-op non-propagating-operation) 11443 ((gather-op :initform #-(or clasp ecl mkcl) 'compile-bundle-op #+(or clasp ecl mkcl) 'lib-op 11444 :allocation :class) 11445 (gather-type :initform #-(or clasp ecl mkcl) :fasl #+(or clasp ecl mkcl) :static-library 11446 :allocation :class)) 11416 #+(or clasp ecl mkcl) link-op gather-operation non-propagating-operation) 11417 ((gather-operation 11418 :initform #-(or clasp ecl mkcl) 'compile-bundle-op #+(or clasp ecl mkcl) 'lib-op 11419 :allocation :class) 11420 (gather-type 11421 :initform #-(or clasp ecl mkcl) :fasl #+(or clasp ecl mkcl) :static-library 11422 :allocation :class)) 11447 11423 (:documentation "Create a single fasl for the system and its dependencies.")) 11448 11424 … … 11462 11438 11463 11439 (defclass image-op (monolithic-bundle-op selfward-operation 11464 #+(or clasp ecl mkcl) link-op #+(or clasp ecl mkcl) gather-op )11440 #+(or clasp ecl mkcl) link-op #+(or clasp ecl mkcl) gather-operation) 11465 11441 ((bundle-type :initform :image) 11466 11442 #+(or clasp ecl mkcl) (gather-type :initform :static-library :allocation :class) … … 11603 11579 #'(lambda (p) (equalp (pathname-type p) type))) 11604 11580 11605 (defmethod input-files ((o gather-op ) (c system))11581 (defmethod input-files ((o gather-operation) (c system)) 11606 11582 (unless (eq (bundle-type o) :no-output-file) 11607 11583 (direct-dependency-files … … 11724 11700 nil) 11725 11701 11726 (defmethod component-depends-on ((o gather-op ) (c prebuilt-system))11702 (defmethod component-depends-on ((o gather-operation) (c prebuilt-system)) 11727 11703 nil) 11728 11704 … … 11885 11861 :asdf/component :asdf/operation 11886 11862 :asdf/system :asdf/find-system 11887 :asdf/action :asdf/lisp-action :asdf/ bundle)11863 :asdf/action :asdf/lisp-action :asdf/plan :asdf/bundle) 11888 11864 (:export 11889 11865 #:concatenate-source-op … … 11903 11879 ;; Base classes for both regular and monolithic concatenate-source operations 11904 11880 (defclass basic-concatenate-source-op (bundle-op) 11905 ((bundle-type :initform "lisp" )))11881 ((bundle-type :initform "lisp" :allocation :class))) 11906 11882 (defclass basic-load-concatenated-source-op (basic-load-op selfward-operation) ()) 11907 11883 (defclass basic-compile-concatenated-source-op (basic-compile-op selfward-operation) ()) … … 12164 12140 #:component-property 12165 12141 #:run-shell-command 12166 #:system-definition-pathname)) 12142 #:system-definition-pathname 12143 #:explain)) 12167 12144 (in-package :asdf/backward-interface) 12168 12145 … … 12200 12177 ;; you should also do it when not, and vice-versa, because it really shouldn't matter. 12201 12178 ;; Thus, the backward-compatible thing to do is to always return T. 12202 ;; 12203 ;; TODO: change this function to a defun that always returns T. 12204 (defmethod operation-forced ((o operation)) (getf (operation-original-initargs o) :force)) 12179 (defmethod operation-forced ((o operation)) t) 12205 12180 12206 12181 … … 12330 12305 (t 255)))))) 12331 12306 12307 12332 12308 (with-upgradability () 12333 12309 (defvar *asdf-verbose* nil)) ;; backward-compatibility with ASDF2 only. Unused. 12334 12310 12335 ;; backward-compatibility methods. Do NOT use in new code. NOT SUPPORTED. 12311 12312 ;;; backward-compatibility methods. Do NOT use in new code. NOT SUPPORTED. 12336 12313 (with-upgradability () 12337 12314 (defgeneric component-property (component property)) … … 12348 12325 (acons property new-value (slot-value c 'properties))))) 12349 12326 new-value)) 12327 12328 12329 ;;; This method survives from ASDF 1, but really it is superseded by action-description. 12330 (with-upgradability () 12331 (defgeneric* (explain) (operation component) 12332 (:documentation "Display a message describing an action. 12333 DEPRECATED. Use ASDF:ACTION-DESCRIPTION and/or ASDF::FORMAT-ACTION instead.")) 12334 (defmethod explain ((o operation) (c component)) 12335 (asdf-message (compatfmt "~&~@<; ~@;~A~:>~%") (action-description o c))) 12336 (define-convenience-action-methods explain (operation component))) 12337 12338 12350 12339 ;;;; --------------------------------------------------------------------------- 12351 12340 ;;;; Handle ASDF package upgrade, including implementation-dependent magic.
Note: See TracChangeset
for help on using the changeset viewer.