coleslaw/plugins/robocopy.lisp
egao1980 c2a107cb3e Use robocopy on Windows
Rsync treats C:/ type path as remote and cowardly refuses to copy directories. Robocopy knows no fear.
2020-04-14 18:34:47 +01:00

21 lines
465 B
Common Lisp

(defpackage :coleslaw-robocopy
(:use :cl)
(:import-from :coleslaw #:*config*
#:deploy
#:deploy-dir)
(:export #:enable))
(in-package :coleslaw-robocopy)
(defvar *args* nil)
(defmethod deploy (staging)
(coleslaw::run-program
"(robocopy ~A ~A ~{~A~^ ~}) ^& IF %ERRORLEVEL% LEQ 1 exit 0"
(merge-pathnames staging)
(merge-pathnames (deploy-dir *config*))
*args*))
(defun enable (&rest args)
(setf *args* args))