|
- ;;;; 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))
|