(defun run-task (task)
(format t "~%~c[1;33mRunning ~:(~A~)~c[0m~%" #\Esc (getf task :name) #\Esc)
- (eval (getf task :directions))
-; (format t "~c[1;31mFailed doc check!~c[0m~%" #\Esc #\Esc)
- (format t "~c[1;32m- ~:(~A~) Passed!~c[0m~%" #\Esc (getf task :name) #\Esc))
+ (if
+ (eval (getf task :directions))
+ (progn (format t "~c[1;32m- ~:(~A~) Passed!~c[0m~%" #\Esc (getf task :name) #\Esc) t)
+ (format t "~c[1;31m- ~:(~A~) Failed!~c[0m~%" #\Esc (getf task :name) #\Esc)))
(defun run ()
+ "RUN => RESULT
+
+ARGUMENTS AND VALUES:
+
+ RESULT: a boolean, whether the process was successful
+
+DESCRIPTION:
+
+ Runs the script specified by the .candle file in the current directory.
+ When completed, the boolean will be returned if it was successful or not."
(if
(not (probe-file ".candle"))
:dot-candle-absent
(let
((candle-definition (read str)))
(format t "Running tasks for ~(~A~)~%" (getf candle-definition :name))
- (mapcar #'run-task (getf candle-definition :tasks))))))
+ (every #'identity (mapcar #'run-task (getf candle-definition :tasks)))))))