coleslaw/plugins/rsync.lisp

19 lines
494 B
Common Lisp

(defpackage :coleslaw-rsync
(:use :cl)
(:import-from :coleslaw #:*config*
#:deploy
#:deploy-dir)
(:export #:enable))
(in-package :coleslaw-rsync)
(defvar *args* nil)
(defmethod deploy (staging)
(coleslaw::run-program "rsync --delete ~{~A~^ ~} -avz ~A ~A" *args*
(merge-pathnames staging)
(merge-pathnames (deploy-dir *config*))))
(defun enable (&rest args)
(setf *args* args))