diff --git a/coleslaw-conf.asd b/coleslaw-conf.asd new file mode 100644 index 0000000..c294d66 --- /dev/null +++ b/coleslaw-conf.asd @@ -0,0 +1,12 @@ +(in-package #:asdf-user) + +(defsystem #:coleslaw-conf + :name "coleslaw-conf" + :description "Configuration variable for Coleslaw, Flexible Lisp Blogware" + :version "0.9.7" + :license "BSD" + :author "Brit Butler " + :pathname "src/" + :depends-on () + :serial t + :components ((:file "coleslaw-conf"))) diff --git a/coleslaw-test.asd b/coleslaw-test.asd new file mode 100644 index 0000000..5426a07 --- /dev/null +++ b/coleslaw-test.asd @@ -0,0 +1,13 @@ +(in-package #:asdf-user) + +(defsystem #:coleslaw-test + :description "A test suite for coleslaw." + :license "BSD" + :author "Brit Butler " + :depends-on (:coleslaw :prove) + :defsystem-depends-on (:prove-asdf) + :components ((:module "tests" + :components + ((:test-file "tests")))) + :perform (test-op :after (op c) + (uiop:symbol-call :prove 'run c))) diff --git a/coleslaw.asd b/coleslaw.asd index 3506303..4dc4579 100644 --- a/coleslaw.asd +++ b/coleslaw.asd @@ -1,3 +1,5 @@ +(in-package #:asdf-user) + (defsystem #:coleslaw :name "coleslaw" :description "Flexible Lisp Blogware" @@ -5,7 +7,8 @@ :license "BSD" :author "Brit Butler " :pathname "src/" - :depends-on (:closure-template + :depends-on (:coleslaw-conf + :closure-template :3bmd :3bmd-ext-code-blocks :alexandria @@ -28,18 +31,6 @@ (:file "coleslaw")) :in-order-to ((test-op (test-op coleslaw-test)))) -(defsystem #:coleslaw-test - :description "A test suite for coleslaw." - :license "BSD" - :author "Brit Butler " - :depends-on (:coleslaw :prove) - :defsystem-depends-on (:prove-asdf) - :components ((:module "tests" - :components - ((:test-file "tests")))) - :perform (test-op :after (op c) - (uiop:symbol-call :prove 'run c))) - -(defpackage #:coleslaw-conf (:export #:*basedir*)) -(defparameter coleslaw-conf:*basedir* - (make-pathname :name nil :type nil :defaults *load-truename*)) +(defmethod perform :before ((op load-op) + (system (eql (find-system :coleslaw)))) + (uiop:symbol-call "COLESLAW-CONF" 'set-basedir #.*load-truename*)) diff --git a/src/coleslaw-conf.lisp b/src/coleslaw-conf.lisp new file mode 100644 index 0000000..6d363a9 --- /dev/null +++ b/src/coleslaw-conf.lisp @@ -0,0 +1,12 @@ +(defpackage #:coleslaw-conf + (:use #:cl) + (:export #:*basedir* + #:set-basedir)) + +(in-package #:coleslaw-conf) + +(defvar *basedir*) + +(defun set-basedir (pathname) + (setf coleslaw-conf:*basedir* + (make-pathname :name nil :type nil :defaults pathname)))