251 lines
11 KiB
Common Lisp
251 lines
11 KiB
Common Lisp
;;;; cl-deck-builder2.asd
|
|
;;;;
|
|
;;;; ASDF System Definition File for "The Deck Builder" Common Lisp Project.
|
|
;;;;
|
|
;;;; You can read more about ASDF here:
|
|
;;;; <https://lispcookbook.github.io/cl-cookbook/systems.html>
|
|
;;;;
|
|
|
|
;; (require "asdf") ;; for CI
|
|
|
|
(pushnew :verbose-no-init *features*)
|
|
|
|
(asdf:defsystem "cl-deck-builder2"
|
|
:version "0.4.0"
|
|
:author "Bubblegumdrop"
|
|
:license "Do Not Redistribute"
|
|
:depends-on ("clack"
|
|
"lack"
|
|
"caveman2"
|
|
"envy"
|
|
"cl-ppcre"
|
|
"uiop"
|
|
|
|
;; for @route annotation
|
|
;; "cl-syntax-annot"
|
|
|
|
;; HTML Template
|
|
"djula"
|
|
"djula-gettext"
|
|
"gettext"
|
|
|
|
;; for DB
|
|
"mito"
|
|
"mito-auth"
|
|
"mito-attachment"
|
|
"datafly"
|
|
"sxql"
|
|
"dbd-sqlite3"
|
|
|
|
;; for Models
|
|
"assoc-utils" ; AGET is very handy
|
|
"cl-csv" ; CSV import
|
|
"cl-json" ; JSON import
|
|
"local-time"
|
|
"split-sequence"
|
|
"can"
|
|
|
|
;; Documentation!
|
|
;; "documentation-utils"
|
|
;; "documentation-utils-extensions"
|
|
"cl-org-mode"
|
|
|
|
;; More of Shinmeraa's code
|
|
"ratify"
|
|
"deploy"
|
|
|
|
;; QR Code Generator
|
|
"lispqr"
|
|
|
|
;; Download stuff
|
|
"trivial-download"
|
|
|
|
;; Error Handling
|
|
"clack-errors"
|
|
"lack-middleware-clack-errors"
|
|
|
|
;; Better logging
|
|
"verbose"
|
|
|
|
;; WebSocket chat server backend
|
|
"websocket-driver"
|
|
"lack-middleware-csrf"
|
|
|
|
"cl-markup"
|
|
"hermetic"
|
|
|
|
"inferior-shell"
|
|
|
|
;; Background job processing
|
|
"psychiq"
|
|
|
|
"cl-fad"
|
|
"slynk")
|
|
:components ((:module "src"
|
|
:components
|
|
((:file "main" :depends-on ("config" "view" "db" "draw" "web"))
|
|
(:file "config")
|
|
(:file "db" :depends-on ("config" "toolkit"))
|
|
(:file "view" :depends-on ("config" "i18n"))
|
|
(:file "draw" :depends-on ("models"))
|
|
(:file "i18n")
|
|
(:module "toolkit"
|
|
:components
|
|
((:file "packages")
|
|
(:file "paths")
|
|
(:file "git")
|
|
(:file "time")
|
|
(:file "money")
|
|
(:file "utils")))
|
|
(:module "models"
|
|
:components
|
|
(;; (:file "toolkit")
|
|
(:file "packages")
|
|
;; (:file "model")
|
|
(:file "registered-table-mixin")
|
|
(:file "attachment")
|
|
(:file "category")
|
|
(:file "constructed-decks" :depends-on ("ydk" "ygoprodeck-classes" "ygoprodeck-methods" "ygoprodeck-fields"))
|
|
(:file "crystal-commerce" :depends-on ("attachment" "ygoprodeck"))
|
|
(:file "feedback" :depends-on ("user"))
|
|
(:file "label-maker")
|
|
(:file "qr-code")
|
|
(:file "sqlite-schema")
|
|
(:file "user")
|
|
(:file "ydk" :depends-on ("ygoprodeck"))
|
|
(:file "ygoprodeck")
|
|
(:file "ygoprodeck-fields")
|
|
(:file "ygoprodeck-classes" :depends-on ("ygoprodeck-fields"))
|
|
(:file "ygoprodeck-methods")
|
|
(:file "ygoprodeck-cardinfo")
|
|
(:file "ygoprodeck-json"))
|
|
:depends-on ("db" "toolkit"))
|
|
(:module "web"
|
|
:components
|
|
((:file "packages")
|
|
(:file "setup")
|
|
(:file "flash-message")
|
|
(:file "params")
|
|
(:file "query")
|
|
(:file "toolkit")
|
|
(:file "index")
|
|
(:file "builder" :depends-on ("search"))
|
|
(:file "cards")
|
|
(:file "constructed-decks")
|
|
(:file "category")
|
|
(:file "contact")
|
|
(:file "decks")
|
|
(:file "inventory" :depends-on ("search"))
|
|
(:file "qr")
|
|
(:file "search")
|
|
(:file "sse")
|
|
(:file "upload")
|
|
(:file "user")
|
|
(:file "ydk")
|
|
(:file "label-maker" :depends-on ("query"))
|
|
(:file "tinymce"))
|
|
:depends-on ("db" "i18n" "view" "models" "draw" "toolkit"))))
|
|
;; TODO seeing this all here makes me want to really compress this.
|
|
(:module "templates"
|
|
:components
|
|
;; Order is important: the ones that extend default.html
|
|
;; must be declared after it, because we compile all of them
|
|
;; at build time.
|
|
((:STATIC-FILE "ydk/index.html") (:STATIC-FILE "user/user-menu-bar.html")
|
|
(:STATIC-FILE "user/user-list.html") (:STATIC-FILE "user/register.html")
|
|
(:STATIC-FILE "user/login.html") (:STATIC-FILE "user/index.html")
|
|
(:STATIC-FILE "user/admin.html") (:STATIC-FILE "upload.html")
|
|
(:STATIC-FILE "template.Dockerfile") (:STATIC-FILE "tabs.html")
|
|
(:STATIC-FILE "qr.html") (:STATIC-FILE "pages.html")
|
|
(:STATIC-FILE "news.html") (:STATIC-FILE "navbar.html")
|
|
(:STATIC-FILE "navbar-js.html") (:STATIC-FILE "messages.html")
|
|
(:STATIC-FILE "markdown.html") (:STATIC-FILE "layouts/minimal.html")
|
|
(:STATIC-FILE "layouts/html-head.html") (:STATIC-FILE "layouts/default.html")
|
|
(:STATIC-FILE "latex/default.tpl.tex")
|
|
(:STATIC-FILE "latex/ULINE-S-20247.tpl.tex")
|
|
(:STATIC-FILE "latex/ULINE-S-20247.tex")
|
|
(:STATIC-FILE "latex/Avery-5160.tpl.tex")
|
|
(:STATIC-FILE "latex/Avery-5160.tex") (:STATIC-FILE "label-maker.html")
|
|
(:STATIC-FILE "kde-team.html") (:STATIC-FILE "inventory/variant-results.html")
|
|
(:STATIC-FILE "inventory/search-results.html")
|
|
(:STATIC-FILE "inventory/old.html") (:STATIC-FILE "inventory/new.html")
|
|
(:STATIC-FILE "inventory/index.html") (:STATIC-FILE "inventory/import.html")
|
|
(:STATIC-FILE "inventory/edit.html") (:STATIC-FILE "inventory/base-menu.html")
|
|
(:STATIC-FILE "inventory/advanced-search.html")
|
|
(:STATIC-FILE "inventory/_view_result.html")
|
|
(:STATIC-FILE "inventory/_search_result_th.html")
|
|
(:STATIC-FILE "inventory/_new_row.html")
|
|
(:STATIC-FILE "inventory/_inventory_variants.html")
|
|
(:STATIC-FILE "inventory/_edit_row.html")
|
|
(:STATIC-FILE "inventory/_edit_result.html")
|
|
(:STATIC-FILE "inventory/_advanced_search_select.html")
|
|
(:STATIC-FILE "inventory/_advanced_search_input.html")
|
|
(:STATIC-FILE "index.html") (:STATIC-FILE "footer.html")
|
|
(:STATIC-FILE "file-js.html") (:STATIC-FILE "docs.md")
|
|
(:STATIC-FILE "docs.html") (:STATIC-FILE "decks/search.html")
|
|
(:STATIC-FILE "decks/saved-category-list.html")
|
|
(:STATIC-FILE "decks/index.html")
|
|
(:STATIC-FILE "decks/decks-by-category.html")
|
|
(:STATIC-FILE "decks/deck-text-three-column.html")
|
|
(:STATIC-FILE "decks/deck-text-textarea.html")
|
|
(:STATIC-FILE "decks/deck-text-list.html")
|
|
(:STATIC-FILE "decks/deck-text-list-original.html")
|
|
(:STATIC-FILE "decks/deck-select.html")
|
|
(:STATIC-FILE "decks/deck-menu-bar.html")
|
|
(:STATIC-FILE "decks/deck-image-listing.html")
|
|
(:STATIC-FILE "decks/deck-html-results.html")
|
|
(:STATIC-FILE "decks/deck-html-results-1.html")
|
|
(:STATIC-FILE "decks/deck-controls.html")
|
|
(:STATIC-FILE "decks/category-select.html")
|
|
(:STATIC-FILE "decks/cards-in-decks.html")
|
|
(:STATIC-FILE "decks/_field_control_select.html")
|
|
(:STATIC-FILE "contact/list.html") (:STATIC-FILE "contact/index.html")
|
|
(:STATIC-FILE "contact/admin.html")
|
|
(:STATIC-FILE "construct/select-sets.html")
|
|
(:STATIC-FILE "construct/pull-menu-bar.html")
|
|
(:STATIC-FILE "construct/index.html") (:STATIC-FILE "chat.html")
|
|
(:STATIC-FILE "category/index.html") (:STATIC-FILE "category/explain.html")
|
|
(:STATIC-FILE "category/child-list.html")
|
|
(:STATIC-FILE "category/child-form.html")
|
|
(:STATIC-FILE "category/category-menu-bar.html")
|
|
(:STATIC-FILE "cards/view.html") (:STATIC-FILE "cards/search-results.html")
|
|
(:STATIC-FILE "cards/info.html") (:STATIC-FILE "cards/index.html")
|
|
(:STATIC-FILE "cards/cc-item-view.html")
|
|
(:STATIC-FILE "cards/cc-item-row.html")
|
|
(:STATIC-FILE "cards/_search_result_th.html")
|
|
(:STATIC-FILE "cards/_advanced_search_top.html")
|
|
(:STATIC-FILE "cards/_advanced_search_select_kind.html")
|
|
(:STATIC-FILE "cards/_advanced_search_select.html")
|
|
(:STATIC-FILE "cards/_advanced_search_numeric.html")
|
|
(:STATIC-FILE "cards/_advanced_search_input_numeric.html")
|
|
(:STATIC-FILE "cards/_advanced_search_attrs.html")
|
|
(:STATIC-FILE "builder/search-results.html")
|
|
(:STATIC-FILE "builder/saved-deck-list.html")
|
|
(:STATIC-FILE "builder/saved-category-list.html")
|
|
(:STATIC-FILE "builder/index.html")
|
|
(:STATIC-FILE "builder/deck-controls.html")
|
|
(:STATIC-FILE "builder/current-deck-list.html")
|
|
(:STATIC-FILE "builder/base-menu.html")
|
|
(:STATIC-FILE "builder/_search_results_th.html")
|
|
(:STATIC-FILE "builder/_jquery_droppable.html")
|
|
(:STATIC-FILE "builder/_current_deck_list-1.html")
|
|
(:STATIC-FILE "builder/_advanced_search_select_kind.html")
|
|
(:STATIC-FILE "builder/_advanced_search_select.html")
|
|
(:STATIC-FILE "builder/_advanced_search_numeric.html")
|
|
(:STATIC-FILE "builder/_advanced_search_input_numeric.html")
|
|
(:STATIC-FILE "builder/_advanced_search_attrs.html")
|
|
(:STATIC-FILE "_errors/404.html"))))
|
|
:description "Deck Builder Project"
|
|
|
|
:defsystem-depends-on (:deploy) ;; (ql:quickload "deploy") before
|
|
:build-operation "deploy-op" ;; instead of "program-op"
|
|
:build-pathname "cl-deck-builder2"
|
|
:entry-point "cl-deck-builder2:my/start"
|
|
|
|
:in-order-to ((test-op (test-op "cl-deck-builder2-test"))))
|
|
|
|
;; Use compression: from 108M, 0.04s startup time to 24M, 0.37s.
|
|
#+sb-core-compression
|
|
(defmethod asdf:perform ((o asdf:image-op) (c asdf:system))
|
|
(uiop:dump-image (asdf:output-file o c) :executable t :compression t))
|