Commit 42986b56 authored by Robert Goldman's avatar Robert Goldman

Refine warning handling.

Add DEPENDENCY-NOT-DONE condition.
Refine the printing of such warnings.

Later we may wish to export this condition, if we can identify when it
should be muffled.
parent 6cba911f
...@@ -246,6 +246,24 @@ initialized with SEED." ...@@ -246,6 +246,24 @@ initialized with SEED."
;; so they need not refer to the state of the filesystem, ;; so they need not refer to the state of the filesystem,
;; and the stamps could be cryptographic checksums rather than timestamps. ;; and the stamps could be cryptographic checksums rather than timestamps.
;; Such a change remarkably would only affect COMPUTE-ACTION-STAMP. ;; Such a change remarkably would only affect COMPUTE-ACTION-STAMP.
(define-condition dependency-not-done (warning)
((op
:initarg :op)
(component
:initarg :component)
(dep-op
:initarg :dep-op)
(dep-component
:initarg :dep-component)
(plan
:initarg :plan
:initform nil))
(:report (lambda (condition stream)
(with-slots (op component dep-op dep-component plan) condition
(format stream "Computing just-done stamp ~@[in plan ~S~] for action ~S, but dependency ~S wasn't done yet!"
plan
(action-path (make-action op component))
(action-path (make-action dep-op dep-component)))))))
(defmethod compute-action-stamp (plan (o operation) (c component) &key just-done) (defmethod compute-action-stamp (plan (o operation) (c component) &key just-done)
;; Given an action, figure out at what time in the past it has been done, ;; Given an action, figure out at what time in the past it has been done,
...@@ -279,10 +297,10 @@ initialized with SEED." ...@@ -279,10 +297,10 @@ initialized with SEED."
(just-done (just-done
;; It's OK to lose some ASDF action stamps during self-upgrade ;; It's OK to lose some ASDF action stamps during self-upgrade
(unless (equal "asdf" (primary-system-name dc)) (unless (equal "asdf" (primary-system-name dc))
(warn "Computing just-done stamp in plan ~S for action ~S, but dependency ~S wasn't done yet!" (warn 'dependency-not-done
plan :plan plan
(action-path (make-action o c)) :op o :component c
(action-path (make-action do dc)))) :dep-op do :dep-component dc))
status) status)
(t (t
(return (values nil nil)))))) (return (values nil nil))))))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment