|
@@ -57,21 +57,17 @@ Additional args to render CONTENT can be passed via RENDER-ARGS."
|
57
|
57
|
(defgeneric deploy (staging)
|
58
|
58
|
(:documentation "Deploy the STAGING dir, updating the .prev and .curr symlinks.")
|
59
|
59
|
(:method (staging)
|
60
|
|
- (with-current-directory coleslaw-conf:*basedir*
|
61
|
|
- (let* ((dest (deploy *config*))
|
62
|
|
- (new-build (rel-path dest "generated/~a" (get-universal-time)))
|
63
|
|
- (prev (rel-path dest ".prev"))
|
64
|
|
- (curr (rel-path dest ".curr")))
|
65
|
|
- (ensure-directories-exist new-build)
|
66
|
|
- (run-program "mv ~a ~a" staging new-build)
|
67
|
|
- (when (probe-file prev)
|
68
|
|
- (let ((dest (truename prev)))
|
69
|
|
- (if (equal prev dest)
|
70
|
|
- (delete-file prev)
|
71
|
|
- (run-program "rm -R ~a" dest))))
|
72
|
|
- (when (probe-file curr)
|
73
|
|
- (update-symlink prev (truename curr)))
|
74
|
|
- (update-symlink curr new-build)))))
|
|
60
|
+ (let* ((dest (deploy *config*))
|
|
61
|
+ (new-build (rel-path dest "generated/~a" (get-universal-time)))
|
|
62
|
+ (prev (rel-path dest ".prev"))
|
|
63
|
+ (curr (rel-path dest ".curr")))
|
|
64
|
+ (ensure-directories-exist new-build)
|
|
65
|
+ (run-program "mv ~a ~a" staging new-build)
|
|
66
|
+ (when (probe-file prev)
|
|
67
|
+ (delete-directory-and-files (truename prev) :if-does-not-exist :ignore))
|
|
68
|
+ (when (probe-file curr)
|
|
69
|
+ (update-symlink prev (truename curr)))
|
|
70
|
+ (update-symlink curr new-build))))
|
75
|
71
|
|
76
|
72
|
(defun main (config-key)
|
77
|
73
|
"Load the user's config section corresponding to CONFIG-KEY, then
|