Skip to content

Commit 3b52b8c

Browse files
committed
Trying to fix lisp-unit2 asdf2 interop
re #5
1 parent 7f1d6c9 commit 3b52b8c

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

interop.lisp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
(declare (ignore (start)))
1212
(error "Requires asdf"))
1313

14-
#+asdf
14+
#+asdf3
1515
(defun get-system-list (start &aux list)
1616
(labels ((do-it (sys-name)
1717
(let* ((sys (asdf/system:find-system sys-name))
@@ -23,6 +23,18 @@
2323
(mapc #'do-it (alexandria:ensure-list start))
2424
list))
2525

26+
#-asdf3 #+asdf
27+
(defun get-system-list (start &aux list)
28+
(labels ((do-it (sys-name)
29+
(let* ((sys (asdf:find-system sys-name))
30+
(deps (slot-value sys 'asdf:load-dependencies)))
31+
;; ensures that all dependencies are before things that depend on them
32+
(setf list (delete sys-name list :test #'equal))
33+
(push sys-name list)
34+
(mapc #'do-it deps))))
35+
(mapc #'do-it (alexandria:ensure-list start))
36+
list))
37+
2638
#-asdf
2739
(defgeneric test-asdf-system-recursive (sys-name &key ignore-systems)
2840
(:method (sys-name &key ignore-systems)

0 commit comments

Comments
 (0)