leibowitz
Experimental Common Lisp object storage abstraction for Unix file systems
leibowitz/leibowitz.asd
Download raw file: leibowitz.asd
(require 'asdf)
(defun injest (subpath)
(uiop:read-file-string (uiop:subpathname *load-pathname* subpath)))
(loop for dir in (nconc (list #P"core/" #P"web/" #P"cli/")
(directory #P"lib/*/"))
do (push dir asdf:*central-registry*))
(asdf:defsystem "leibowitz"
;;;
;;; IMPORTANT!!! These system definition keys here are the single
;;; source of truth for project metadata. Other parts of the
;;; codebase may pol them at compile-time using the function
;;; `leibowitz.util:get-asdf-metadata' utility. For an example, see
;;; `leibowitz.cli::toplevel/definition'.
;;;
:version "0.1.0"
:description #.(injest #P".git/description")
:author "ꙮ <ymir@ulthar.xyz>"
:license "No copyright but the right to copy!"
:homepage "https://ulthar.xyz/repos/leibowitz"
:long-description #.(injest #P"README.md")
:depends-on (#:leibowitz.util
#:leibowitz.core
#:leibowitz.web
#:leibowitz.cli)
:components ((:file "package"))
:build-operation "program-op"
:build-pathname "build/leibowitz"
:entry-point "leibowitz.cli:main"
:in-order-to ((asdf:test-op (asdf:test-op "leibowitz/tests"))))
(asdf:defsystem "leibowitz/tests"
:depends-on (#:parachute
#:leibowitz)
:components ((:module "tests" :components ((:file "package")
(:file "utils")
(:file "core")
;;(:file "cli")
)))
:perform (asdf:test-op (op c) (uiop:symbol-call :parachute :test :leibowitz/tests)))