(setf *compile-print* nil)
(require 'asdf)
(asdf:initialize-source-registry
- `(:source-registry (:tree ,(car (directory "src"))) :INHERIT-CONFIGURATION))
-(asdf:load-system :candle)
+ `(:source-registry (:tree ,(car (directory "."))) :INHERIT-CONFIGURATION))
+(let
+ ((*error-output* (make-broadcast-stream)))
+ (asdf:load-system :candle))
(asdf:load-system :opera)
(defpackage #:candle-server-cli (:use #:common-lisp))
(defvar *options*
'((:name :help :short "h" :long "help" :description "Print this usage.")
(:name :port :short "p" :long "port" :takes-argument t :variable-name "PORT"
- :description "Port on which to listen for commands. Defaults to 25004")))
+ :description "Port on which to listen for commands. Defaults to 25004")
+ (:name :dir :long "candle-dir" :takes-argument t :variable-name "DIR"
+ :description "Directory for candle related data. Will be created if does not exist. Defaults to /opt/candle/")
+ (:name :system :long "system" :takes-argument t :variable-name "SYSTEM"
+ :description "System on which to run jobs. Currently available are local and aws. Defaults to local.")))
(defun usage ()
(format t "~A"
(opera:option-present :port options)
(parse-integer (opera:option-argument :port options) :junk-allowed t))
25004)))
+ (setf candle:*job-system*
+ (if (opera:option-present :system options)
+ (intern (string-upcase (opera:option-argument :system options)) :keyword)
+ :local))
+ (case candle:*job-system*
+ (:aws (asdf:load-system :candle-aws))
+ (:local (asdf:load-system :candle-local)))
+ (setf candle:*candle-dir*
+ (if (opera:option-present :dir options)
+ (opera:option-argument :dir options)
+ "/opt/candle/"))
(format t "Starting server on port ~A~%" port)
(candle:server port nil)))))