Skip to content
Snippets Groups Projects
Commit f2d34c3f authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

Allow for explicit override of type in file components.

parent 65646ac2
No related branches found
No related tags found
No related merge requests found
...@@ -1064,21 +1064,23 @@ to `~a` which is not a directory.~@:>" ...@@ -1064,21 +1064,23 @@ to `~a` which is not a directory.~@:>"
;;; component subclasses ;;; component subclasses
(defclass source-file (component) ()) (defclass source-file (component)
((type :accessor source-file-explicit-type :initarg :type :initform nil)))
(defclass cl-source-file (source-file) ())
(defclass c-source-file (source-file) ()) (defclass cl-source-file (source-file)
(defclass java-source-file (source-file) ()) ((type :initform "lisp")))
(defclass c-source-file (source-file)
((type :initform "c")))
(defclass java-source-file (source-file)
((type :initform "java")))
(defclass static-file (source-file) ()) (defclass static-file (source-file) ())
(defclass doc-file (static-file) ()) (defclass doc-file (static-file) ())
(defclass html-file (doc-file) ()) (defclass html-file (doc-file)
((type :initform "html")))
(defmethod source-file-type ((component module) (s module)) :directory) (defmethod source-file-type ((component module) (s module)) :directory)
(defmethod source-file-type ((c cl-source-file) (s module)) "lisp") (defmethod source-file-type ((component source-file) (s module))
(defmethod source-file-type ((c c-source-file) (s module)) "c") (source-file-explicit-type component))
(defmethod source-file-type ((c java-source-file) (s module)) "java")
(defmethod source-file-type ((c html-file) (s module)) "html")
(defmethod source-file-type ((c static-file) (s module)) nil)
(defun merge-component-name-type (name &key type defaults) (defun merge-component-name-type (name &key type defaults)
;; The defaults are required notably because they provide the default host ;; The defaults are required notably because they provide the default host
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment