plugins/robocopy.lisp (465 bytes)
1 2 (defpackage :coleslaw-robocopy 3 (:use :cl) 4 (:import-from :coleslaw #:*config* 5 #:deploy 6 #:deploy-dir) 7 (:export #:enable)) 8 9 (in-package :coleslaw-robocopy) 10 11 (defvar *args* nil) 12 13 (defmethod deploy (staging) 14 (coleslaw::run-program 15 "(robocopy ~A ~A ~{~A~^ ~}) ^& IF %ERRORLEVEL% LEQ 1 exit 0" 16 (merge-pathnames staging) 17 (merge-pathnames (deploy-dir *config*)) 18 *args*)) 19 20 (defun enable (&rest args) 21 (setf *args* args))