summaryrefslogtreecommitdiff
path: root/lisp/ldapadmin.asd
diff options
context:
space:
mode:
authorckonstanski <carlos.konstanski@olo.com>2021-11-27 10:20:12 -0700
committerckonstanski <carlos.konstanski@olo.com>2021-11-27 10:20:12 -0700
commit31657f6854edc116946a099be889440fb3e92e53 (patch)
treebe32747cfaf2f19f59857349438d62fb4a4a25b6 /lisp/ldapadmin.asd
parent41ca4dcf8a18a76c48734a5fca4c56afb735a66e (diff)
moved everything under lisp/
Diffstat (limited to 'lisp/ldapadmin.asd')
-rw-r--r--lisp/ldapadmin.asd67
1 files changed, 67 insertions, 0 deletions
diff --git a/lisp/ldapadmin.asd b/lisp/ldapadmin.asd
new file mode 100644
index 0000000..08f3210
--- /dev/null
+++ b/lisp/ldapadmin.asd
@@ -0,0 +1,67 @@
+;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
+(declaim (optimize (speed 0) (safety 3) (debug 3)))
+
+(in-package :cl)
+
+(defpackage :ldapadmin-system (:use :cl :asdf))
+(in-package :ldapadmin-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 cl-ppcre uffi hunchentoot cl-log ironclad trivial-ldap))
+(defparameter *asdf-packages* '(org-ckons-core org-ckons-http org-ckons-json))
+(defparameter *all-packages* (append *quicklisp-packages* *asdf-packages*))
+
+(loop for pkg in *quicklisp-packages* do
+ (ql:quickload (symbol-name pkg)))
+
+(do-defsystem :name "ldapadmin"
+ :version "2"
+ :maintainer "Carlos Konstanski <me@ckons.org>"
+ :author "Carlos Konstanski <me@ckons.org>"
+ :description "ldapadmin"
+ :long-description "ldapadmin is a web application written in Common Lisp, based on the Hunchentoot web server. It is a web UI frontend for LDAP."
+ :depends-on *all-packages*
+ :components ((:module core
+ :components ((:file "core")))
+ (:module condition
+ :depends-on (core)
+ :components ((:file "condition")))
+ (:module ldap
+ :depends-on (condition)
+ :components ((:file "generics")
+ (:file "ldap" :depends-on ("generics"))))
+ (:module entity
+ :depends-on (ldap)
+ :components ((:file "generics")
+ (:file "entity" :depends-on ("generics"))
+ (:file "ldap-user" :depends-on ("entity"))))
+ (:module service
+ :depends-on (entity)
+ :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 ("rest-service"))
+ (:file "login-service" :depends-on ("generic-form"))
+ (:file "logout-service" :depends-on ("rest-service"))
+ (:file "inetorg-view-service" :depends-on ("auth-service" "generic-form"))
+ (:file "inetorg-modify-service" :depends-on ("auth-service" "generic-form"))
+ (:file "inetorg-delete-service" :depends-on ("auth-service" "generic-form"))
+ (:file "inetorg-add-service" :depends-on ("auth-service" "generic-form"))))
+ (:module webapps
+ :depends-on (service)
+ :components ((:file "webapp-loader")
+ (:module ldapadmin
+ :depends-on ("webapp-loader")
+ :components ((:file "site")))))))