(in-package #:candle-local) (defvar *rsync-exec*) (defvar *candle-location*) (defmethod candle:process-job-in-system ((job-system (eql :local)) job) (let ((work-dir (format nil "~Awork/" candle:*candle-dir*)) (out nil) (code nil)) (sb-ext:run-program *rsync-exec* (list "-az" "--delete" (candle:project-dir (candle:job-project job)) work-dir)) (setf out (with-output-to-string (out-str) (setf code (sb-ext:process-exit-code (sb-ext:run-program *candle-location* (list "run") :directory work-dir :output out-str :error out-str :wait t))))) (values (zerop code) out)))