3 (defun import-package (pkg)
4 (asdf:load-system pkg))
7 (format t "~%~c[1;33mRunning ~:(~A~)~c[0m~%" #\Esc (getf task :name) #\Esc)
9 (eval (getf task :directions))
10 (progn (format t "~c[1;32m- ~:(~A~) Passed!~c[0m~%" #\Esc (getf task :name) #\Esc) t)
11 (format t "~c[1;31m- ~:(~A~) Failed!~c[0m~%" #\Esc (getf task :name) #\Esc)))
15 (not (probe-file ".candle"))
17 (with-open-file (str ".candle")
18 (asdf:initialize-source-registry `(:source-registry (:tree ,(car (directory "."))) :INHERIT-CONFIGURATION))
19 (mapcar #'import-package (cdr (read str)))
21 ((candle-definition (read str)))
22 (format t "Running tasks for ~(~A~)~%" (getf candle-definition :name))
23 (every #'identity (mapcar #'run-task (getf candle-definition :tasks)))))))