(defsystem #:ritherdon-archive :version "0.1.0" :author "Craig Oates" :license "MIT" :depends-on (#:clack #:lack #:caveman2 #:envy #:cl-ppcre #:uiop ;; for @route annotation #:cl-syntax-annot ;; HTML Template #:djula ;; for DB #:datafly #:sxql ;;; Additional Packages (after initial Caveman set-up) #:woo ; Alternative server to Hunchentoot #:clack-errors ; Error report (HTML/template views) #:mito ; Database ORM #:mito-auth ; Auth. with password hashing and salting #:osicat ; Environment variables (dev/prod.) #:ratify ; Utilites #:trivia ; Pattern matching #:plump ; Parsing (HTML/XML) #:dexador ; HTTP client #:clss ; DOM tree search based on CSS selectors #:3bmd ; Markdown #:cl-json ; JSON Parsing #:cl-who ; Markup #:sqlite ; Sqlite database ORM #:hermetic ; Authentication #:cl-fad ; Files and directories #:xml-emitter ; XML Emitter for RSS Feed #:serapeum ; Pagination #:cl-slug ; Asciify and slugify strings #:str ; String manipulation (easier than built-in) #:copy-directory ; Copy Directories using Native cp #:cl-diskspace ; Get Disk Info. #:zip ; Zip and compression ) :pathname "src/" ;; :serial t :components (;; Caveman Files (:file "config") (:file "main") (:file "db") ;; Ritherdon Archive Specific Files (:file "app-constants") (:file "models/user") (:file "models/site-settings") (:file "models/pages") (:file "models/files") (:file "models/archive") (:file "status-codes") (:file "storage") (:file "utils") (:file "auth") (:file "validation") (:file "nera") ; Database stuff (:file "search") ; Meilisearch stuff (:file "snapshot") ; Site back-up/snapshot stuff ;; Caveman Files (:file "view") (:file "web")) :description "The Nicola Ellis & Ritherdon Archive." :build-operation "program-op" :build-pathname "clinera" :entry-point "ritherdon-archive:main" :in-order-to ((test-op (test-op "ritherdon-archive/tests")))) (defsystem #:ritherdon-archive/tests :author "Craig Oates" :license "MIT" :depends-on (#:ritherdon-archive #:parachute) :components ((:module "tests" :components ((:file "tests")))) :description "Test system for ritherdon-archive." :perform (test-op (op c) (symbol-call :parachute :test :tests)))