Handle task failure correctly
[candle] / src / main / cli.lisp
index bbbf23cdffe28945754d57739af5d6257dad80ad..006830eca33bab8387aa3c986ff253488e5c1386 100644 (file)
@@ -29,7 +29,8 @@
    (main-options)
    "Interacts with candle server.  The available commands are:
   project   List, show or add projects
-  job       List or show jobs")))
+  job       List or show jobs
+  run       Local command.  Run candle in the current working directory")))
 
 (defgeneric execute-command (command args))
 
@@ -78,7 +79,7 @@
    ((eql error :required-argument-missing) (format *error-output* "Missing argument for ~A.  See 'candle run --help'.~%" (car remaining-args)))
    (remaining-args (format *error-output* "Unknown option: ~A. See 'candle run --help'.~%" (car remaining-args)))
    ((opera:option-present :help options) (format t "~A" (opera:usage "candle run" (run-options))))
-   (t (candle:run)))))
+   ((not (candle:run)) (sb-ext:exit :code 1)))))
 
 (defun run ()
  (multiple-value-bind (options remaining-args error) (opera:process-arguments (main-options) (cdr sb-ext:*posix-argv*))