diff --git a/asdf-dependency-grovel.asd b/asdf-dependency-grovel.asd index bb451ff02787397d6120206c09b1469f09669427..de7f11faa9300591b4ab3e1a27dbfa8be62891cc 100644 --- a/asdf-dependency-grovel.asd +++ b/asdf-dependency-grovel.asd @@ -2,7 +2,10 @@ (cl:in-package :asdf) -(unless (or #+asdf2 (version-satisfies (asdf-version) "2.014.8")) +#-asdf2 +(error "ASDF-DEPENDENCY-GROVEL requires ASDF2.") + +(unless (version-satisfies (asdf-version) "2.014.8") (error "Not only is your ASDF version is too old for ASDF-DEPENDENCY-GROVEL, you must upgrade it *before* you try to load any system.")) @@ -38,7 +41,8 @@ based on which compilation can be parallelized. Based on an analysis with form granularity, it can output a summary from which you can untangle the circularities in your build." - :depends-on ((:version :asdf "2.018.12")) ;; for full :around-compile support + :version "1.105" + :depends-on ((:version :asdf "2.018.16")) ;; for full :around-compile support :components ((:file "package") (:file "variables" :depends-on ("package")) (:file "classes" :depends-on ("package" "variables")) diff --git a/classes.lisp b/classes.lisp index ff1af1f3ef702c50c22584f0246de4d106c2dfb1..fe6ac74ec2f4d4789098cadeaa29798d88ed5458 100644 --- a/classes.lisp +++ b/classes.lisp @@ -281,7 +281,7 @@ (defmethod constituent-designator ((con asdf-component-constituent)) (list* :asdf - (asdf:component-pathname (asdf-component-constituent-component con)) + (asdf::component-find-path (asdf-component-constituent-component con)) (constituent-designator (constituent-parent con)))) (defmethod constituent-designator ((con file-constituent)) diff --git a/grovel.lisp b/grovel.lisp index c1162e5dce15ddc68398a2c0324da1ad9a652c47..0cfaacc84a306cf786c68cdd08763f69f06e644e 100644 --- a/grovel.lisp +++ b/grovel.lisp @@ -57,7 +57,7 @@ (let ((*macroexpand-hook* (if (boundp '*old-macroexpand-hook*) *old-macroexpand-hook* *macroexpand-hook*))) - (asdf:load-system :asdf-dependency-grovel))) + (load-system :asdf-dependency-grovel))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Signaling Functions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -512,8 +512,8 @@ (defun normalized-component-name (c) (let ((pn (enough-namestring (normalize-pathname-directory - (asdf:component-pathname c)))) - (type (asdf:source-file-type c (asdf:component-system c)))) + (component-pathname c)))) + (type (source-file-type c (component-system c)))) (values (strip-extension pn type) pn type))) (defun enough-component-spec (c) @@ -524,7 +524,7 @@ ;; Used by additional-dependencies* and overridden-dependencies*. (defun map-over-instrumented-component-and-parents (component slot-name) - (loop :for c = component :then (asdf:component-parent c) + (loop :for c = component :then (component-parent c) :until (null c) :when (and (typep c 'instrumented-component) (slot-boundp c slot-name)) @@ -585,8 +585,8 @@ (find-class (or (coerce-class-name (asdf::module-default-component-class - (asdf:component-parent component))) - 'asdf:cl-source-file)))) + (component-parent component))) + 'cl-source-file)))) :file) ;; instrumented components with output file types emit ;; their output file type @@ -628,16 +628,16 @@ of system ~A. Instead of directly editing this ~ file, please edit the system definition~P ~ and re-generate this file." - (mapcar #'asdf:component-name (mapcar #'first dependencies)) + (mapcar #'component-name (mapcar #'first dependencies)) (length dependencies)) (format stream "~&(~%") (dolist (system dependencies) (destructuring-bind (system &key depends-on components) system (when output-systems-and-dependencies-p (format stream "~& (~S~@[ :depends-on ~:S~] :components~% (" - (asdf:component-name system) - (delete (asdf:component-name system) - (mapcar #'asdf:component-name depends-on) + (component-name system) + (delete (component-name system) + (mapcar #'component-name depends-on) :test #'equal))) (dolist (compspec components) ;; to sort: (components-in-traverse-order system components) (destructuring-bind (component &key depends-on) compspec @@ -695,7 +695,7 @@ (defun operate-on-asdf-component-constituent (component thunk) (operate-on-file-level-constituent - (list* :asdf (asdf:component-pathname component) + (list* :asdf (asdf::component-find-path component) (constituent-designator *current-constituent*)) (lambda () (make-instance 'asdf-component-constituent :parent *current-constituent* @@ -763,8 +763,8 @@ (defun asdf-system-file-components (system) "Flatten the tree of modules/components into a list that contains only the non-module components." - (loop :for component :in (asdf:module-components system) - :if (typep component 'asdf:module) + (loop :for component :in (module-components system) + :if (typep component 'module) :append (asdf-system-file-components component) :else :collect component)) @@ -775,7 +775,7 @@ nil) (:method ((x asdf-component-constituent)) (when (typep (asdf-component-constituent-component x) - 'asdf:cl-source-file) + 'cl-source-file) x)) (:method ((x file-constituent)) x) @@ -800,8 +800,8 @@ :when (typep filecon2 'asdf-component-constituent) :do (let ((comp2 (asdf-component-constituent-component con2))) (pushnew comp2 (gethash comp1 component-deps)) - (pushnew (asdf:component-system comp2) - (gethash (asdf:component-system comp1) system-deps)))))) + (pushnew (component-system comp2) + (gethash (component-system comp1) system-deps)))))) ;; Build and return the dependency forms. (loop :for system :in interesting-systems :collect `(,system @@ -826,7 +826,7 @@ (with-constituent-groveling (dolist (system systems) (operating-on-asdf-component-constituent (system) - (asdf:operate 'asdf:load-op system :verbose verbose))) + (operate 'load-op system :verbose verbose))) (with-open-file (dependency-report-stream "/tmp/depreport.sexp" :direction :output diff --git a/package.lisp b/package.lisp index 760af864c8f6bb8baf453f97ba28b9985984ff95..dce44f1f61431c3c0a066ef7a20f6a4ee1586ec5 100644 --- a/package.lisp +++ b/package.lisp @@ -28,17 +28,3 @@ (defpackage #:asdf-dependency-grovel.lambdas (:use)) - -(in-package #:asdf-dependency-grovel) - -(defparameter *asdf-dependency-grovel-version* "1.104") -(defparameter *asdf-version-required-by-adg* "2.018.12") - -#-asdf2 -(error "ASDF-DEPENDENCY-GROVEL requires ASDF2.") - -#+asdf2 -(unless (asdf:version-satisfies (asdf:asdf-version) *asdf-version-required-by-adg*) - (error "ASDF-DEPENDENCY-GROVEL ~A requires ASDF ~A or later." - *asdf-dependency-grovel-version* - *asdf-version-required-by-adg*))