X-Git-Url: https://code.consxy.com/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fcli.lisp;h=ee917b3c98e1acb9bb9f881a72b9770d5f1860b8;hb=3a2cf4eb03820694e101691d8c49e76ed091426c;hp=bee2885a6dab94847183ecb04077aa9d60982a20;hpb=c953ca98148710d0afd69596d327bec8af45524a;p=candle diff --git a/src/main/cli.lisp b/src/main/cli.lisp index bee2885..ee917b3 100644 --- a/src/main/cli.lisp +++ b/src/main/cli.lisp @@ -25,7 +25,10 @@ '((:name :help :short "h" :long "help" :description "Print this usage.") (:name :project-name :long "project" :takes-argument t :variable-name "PROJECT" - :description "The project name for the jobs under consideration. Required argumnet."))) + :description "The project name for the jobs under consideration. Required argumnet.") + (:name :log :long "log" :takes-argument t + :variable-name "SHA" + :description "Show's the processing log for job at sha SHA. SHA can be truncated."))) (defun run-options () '((:name :help :short "h" :long "help" :description "Print this usage."))) @@ -90,6 +93,9 @@ #'job-info->line (sort (communication:query `(candle:project-job-information ,name)) #'< :key #'third)))) +(defun job-log (project-name sha) + (format t "~A~%" (communication:query `(candle:get-job-log ,project-name ,sha)))) + (defun refresh-project (name) (communication:query `(candle:refresh-project ,name)) (format t "Refreshed project ~A~%" name)) @@ -112,6 +118,7 @@ ((eql error :required-argument-missing) (format *error-output* "Missing argument for ~A. See 'candle job --help'.~%" (car remaining-args))) ((opera:option-present :help options) (format t "~A" (opera:usage "candle job" (job-options)))) ((not (opera:option-present :project-name options)) (format *error-output* "Requires --project argument. See 'candle job --help'.~%" )) + ((opera:option-present :log options) (job-log (opera:option-argument :project-name options) (opera:option-argument :log options))) (t (project-history (opera:option-argument :project-name options)))))) (defmethod execute-command ((command (eql :run)) args)