;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*- (declaim (optimize (speed 0) (safety 3) (debug 3))) (in-package :cl) (defpackage :snow-system (:use :cl :asdf)) (in-package :snow-system) (defmacro do-defsystem (&key name version maintainer author description long-description depends-on components) `(defsystem ,name :name ,name :version ,version :maintainer ,maintainer :author ,author :description ,description :long-description ,long-description :depends-on ,(eval depends-on) :components ,components)) (defparameter *quicklisp-packages* '(net-telent-date simple-date local-time cl-ppcre uffi hunchentoot cl-log ironclad)) (defparameter *asdf-packages* '(org-ckons-core org-ckons-http org-ckons-json org-ckons-file org-ckons-session)) (defparameter *all-packages* (append *quicklisp-packages* *asdf-packages*)) (loop for pkg in *quicklisp-packages* do (ql:quickload (symbol-name pkg))) (do-defsystem :name "snow" :version "1" :maintainer "Carlos Konstanski " :author "Carlos Konstanski " :description "snow" :long-description "SNOW is a web application written in Common Lisp, based on the Hunchentoot web server. It is a webapp framework for Platform Evolution engineer tools." :depends-on *all-packages* :components ((:module core :components ((:file "core"))) (:module queue :depends-on (core) :components ((:file "fifo") (:file "queue" :depends-on ("fifo")))) (:module git :depends-on (queue) :components ((:file "git"))) (:module aws :depends-on (queue) :components ((:file "aws"))) (:module tfcloud :depends-on (queue) :components ((:file "tfcloud"))) (:module octopus :depends-on (queue aws) :components ((:file "octopus"))) (:module awx :depends-on (queue aws) :components ((:file "awx"))) (:module service :depends-on (git aws tfcloud octopus) :components ((:file "base-service") (:file "rest-service" :depends-on ("base-service")) (:file "auth-service" :depends-on ("rest-service")) (:file "generic-form" :depends-on ("rest-service")) (:file "menu-service" :depends-on ("base-service")) (:file "home-service" :depends-on ("auth-service")) (:file "git-update-service" :depends-on ("auth-service")) (:file "asg-recycle-service" :depends-on ("auth-service")) (:file "unhealthy-targetgroups-service" :depends-on ("auth-service")) (:file "tfcloud-apply-service" :depends-on ("auth-service")) (:file "octopus-machines-with-roles-service" :depends-on ("auth-service")) (:file "octopus-environments-with-roles-service" :depends-on ("auth-service")) (:file "octopus-projects-with-roles-service" :depends-on ("auth-service")) (:file "octopus-ode-deploy-release-service" :depends-on ("auth-service")) (:file "octopus-latest-deployments-service" :depends-on ("auth-service")))) (:module webapps :depends-on (service) :components ((:file "webapp-loader") (:module snow :depends-on ("webapp-loader") :components ((:file "site")))))))