activity-servist/activity-servist.asd
Jaidyn Ann 1ae93b333b
Replace Dexador with Drakma; add AS/UTIL
… which was spurred by an INVALID-VERSION error
from Dexador’s use of fast-http. Drakma seems to
Just Work™, though, so might as well switch.

This is done by abstracting HTTP gets into a util
subpackage, since both AS/JLD & AS need HTTP reqs.

This also defines the FETCH-ERROR, for when
an HTTP error is given during a FETCH call.
2025-01-14 22:34:06 -06:00

130 lines
4.3 KiB
Common Lisp
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(require "asdf")
(asdf:defsystem "activity-servist"
:version "0.0"
:license "AGPLv3"
:description "ActitivyPub federated server framework."
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:homepage "https://hak.xwx.moe/jadedctrl/activity-servist"
:in-order-to ((test-op (test-op "activitypub/tests")))
:depends-on (:activity-servist/vocab/activity :activity-servist/signatures
:activity-servist/util
:alexandria :clack :cl-date-time-parser :local-time :purl
:str :webtentacle :yason)
:components ((:file "src/activity-servist")))
(asdf:defsystem "activity-servist/vocab"
:version "0.0"
:license "AGPLv3"
:description "A-S subpackage providing a standard vocabulary for ActivityPub programs."
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:homepage "https://hak.xwx.moe/jadedctrl/activity-servist"
:depends-on (:activity-servist/vocab/activity :activity-servist/vocab/litepub))
(asdf:defsystem "activity-servist/vocab/activity"
:version "0.0"
:license "AGPLv3"
:description "A-S subpackage containing ActivityVocabulary class-definitions."
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:homepage "https://hak.xwx.moe/jadedctrl/activity-servist"
:depends-on (:activity-servist/json-ld)
:components ((:file "src/activity-vocabulary")))
(asdf:defsystem "activity-servist/vocab/litepub"
:version "0.0"
:license "AGPLv3"
:description "A-S subpackage providing an expanded vocabulary."
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:homepage "https://hak.xwx.moe/jadedctrl/activity-servist"
:depends-on (:activity-servist/vocab/activity)
:components ((:file "src/litepub")))
(asdf:defsystem "activity-servist/json-ld"
:version "0.0"
:license "AGPLv3"
:description "A fragile and meek JSON-LD parser and encoder."
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:homepage "https://hak.xwx.moe/jadedctrl/activity-servist"
:depends-on (:activity-servist/util
:alexandria :closer-mop :quri :str :yason)
:components ((:file "src/json-ld")))
(asdf:defsystem "activity-servist/signatures"
:version "0.0"
:license "AGPLv3"
:description "A-S subpackage for handling HTTP signatures."
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:homepage "https://hak.xwx.moe/jadedctrl/activity-servist"
:depends-on (:cl-base64 :flexi-streams :inferior-shell :ironclad :osicat)
:components ((:file "src/signatures")))
(asdf:defsystem "activity-servist/util"
:version "0.0"
:license "AGPLv3"
:description "A-S subpackage for utility functions."
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:homepage "https://hak.xwx.moe/jadedctrl/activity-servist"
:depends-on (:drakma :flexi-streams)
:components ((:file "src/util")))
;;; Tests
;;; —————————————————————————————————————
(asdf:defsystem "activity-servist/tests/vocab/activity"
:version "0.0"
:license "AGPLv3"
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:description "Tests the activity-servist/vocab/activity package, and indirectly /json-ld."
:depends-on (:activity-servist/vocab/activity
:alexandria :lisp-unit2)
:components ((:file "t/vocab/activity")))
(asdf:defsystem "activity-servist/tests/signatures"
:version "0.0"
:license "AGPLv3"
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:description "Tests for the the activity-servist/signatures package."
:depends-on (:activity-servist/signatures
:lisp-unit2)
:components ((:file "t/signatures")))
(asdf:defsystem "activity-servist/tests"
:version "0.0"
:license "AGPLv3"
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:description "Tests for all activity-servist subpacakges."
:depends-on (:activity-servist/tests/vocab/activity
:activity-servist/tests/signatures
:alexandria :lisp-unit2)
:components ((:file "t/t")))
;; Following method tweaked from lisp-unit2s documentation:
;; https://github.com/AccelerationNet/lisp-unit2/blob/master/README.md#asdf
(defmacro define-asdf-testing (package)
`(defmethod asdf:perform ((o asdf:test-op) (c (eql (asdf:find-system ',package))))
(eval (read-from-string (format nil "(~A:run-with-summary)" ',package)))))
(define-asdf-testing activity-servist/tests/vocab/activity)
(define-asdf-testing activity-servist/tests/signatures)
(define-asdf-testing activity-servist/tests)