changelog shortlog graph tags branches changeset file revisions annotate raw help

Mercurial > core / lisp/lib/skel/comp/asd.lisp

revision 477: c9b69040cb23
parent 469: 7354623e5b54
child 478: 9472976adda9
     1.1--- a/lisp/lib/skel/comp/asd.lisp	Mon Jun 24 23:03:42 2024 -0400
     1.2+++ b/lisp/lib/skel/comp/asd.lisp	Tue Jun 25 19:56:31 2024 -0400
     1.3@@ -12,7 +12,7 @@
     1.4 ;;; Code:
     1.5 (in-package :skel/comp/asd)
     1.6 
     1.7-(defclass sk-lisp-system (skel asdf:system)
     1.8+(defclass sk-lisp-system (sk-module asdf:system)
     1.9   ;; these slots are inferred in ASDF:SYSTEM. Since we are primarily concerned
    1.10   ;; with generating ASDF:SYSTEM definitions rather than parsing them we restore them here.
    1.11   ((serial :initform nil :type boolean :accessor sk-lisp-system-serial)
    1.12@@ -31,15 +31,22 @@
    1.13     (id:update-id sys)
    1.14     sys))
    1.15 
    1.16+(defmethod sk-convert ((self asdf:system))
    1.17+  (to-sk-system self))
    1.18+
    1.19 (defun find-sk-system (system)
    1.20   (to-sk-system (asdf:find-system system)))
    1.21 
    1.22-(defun parse-sk-system (name path &optional opts)
    1.23+(defun parse-sk-lisp-system (name path &optional opts)
    1.24   (to-sk-system (asdf::parse-component-form nil (list* :system name :pathname path opts))))
    1.25 
    1.26 (defmethod sk-load ((self sk-lisp-system) &key force force-not verbose version)
    1.27   (asdf:load-system self :force force :force-not force-not :verbose verbose :version version))
    1.28 
    1.29+(defmethod sk-load-component ((kind (eql :lisp-system)) (path pathname))
    1.30+  (declare (ignore kind))
    1.31+  (parse-sk-lisp-system (pathname-name path) path))
    1.32+
    1.33 ;; (defmethod sk-compile ((self sk-lisp-system) stream &key &allow-other-keys))
    1.34 
    1.35 (defun sk-write-asd-components (module)
    1.36@@ -93,7 +100,7 @@
    1.37         (terpri s)))))
    1.38 
    1.39 ;; (sk-write-file (find-sk-system :obj) :path "test")
    1.40-;; (describe (parse-sk-system "skel" "/home/ellis/comp/core/lisp/lib/"))
    1.41+;; (describe (parse-sk-lisp-system "skel" "/home/ellis/comp/core/lisp/lib/"))
    1.42 
    1.43 (defmethod sk-read-file ((self sk-lisp-system) path)
    1.44-  (parse-sk-system (pathname-name path) (pathname-directory path)))
    1.45+  (parse-sk-lisp-system (pathname-name path) (pathname-directory path)))