Commit 02eccc08 authored by Eric Timmons's avatar Eric Timmons
Browse files

Implement project-write-changes-to-stream

parent e975cf39
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -152,6 +152,24 @@ instantiated."))
(defmethod project-versions ((project project))
  (hash-table-keys (project-release-ht project)))

(defmethod project-write-changes-to-stream ((project project) s)
  (assert (every (lambda (x) (eql (car x) :add-release)) (project-deltas project)))
  (let ((release-descs (mapcar (lambda (release)
                                 (list* (release-version release) (release-plist release)))
                               (mapcar #'cdr (project-deltas project))))
        (version-scheme (project-version-scheme project)))
    (when version-scheme
      (setf release-descs (sort release-descs (ecase version-scheme
                                                (:date
                                                 #'string<))
                                :key #'car)))
    (with-clpi-io-syntax ()
      (dolist (release-desc release-descs)
        (write release-desc
               :stream s)
        (terpri s))))
  (setf (project-deltas project) nil))

(defmethod project-write-to-stream ((project project) s)
  (let ((release-descs (mapcar (lambda (release)
                                 (list* (release-version release) (release-plist release)))