3 (defun server (port &optional (background t))
4 (when (not *candle-dir*) (error "Need a candle dir"))
6 ((data-dir (format nil "~Adata" *candle-dir*)))
7 (ensure-directories-exist *candle-dir*)
8 (ensure-directories-exist data-dir)
9 (lame-db:load-known-dbs data-dir)
10 (sb-thread:make-thread
15 (lame-db:save-known-dbs data-dir))))
17 (communication:start-listener port background)))
19 (defun add-project (name src)
21 (not (cl-ppcre:scan "^[0-9A-Za-z-]*$" name))
22 (error "Name contains invalid characters"))
23 (make-project :name name :src src)
26 (defun add-job (project-name sha)
27 (make-job :project (find project-name *all-project* :key #'project-name :test #'string=) :sha sha)