diff --git a/Makefile b/Makefile index 3f32b62590fbe751f5bc2f25a8ae010d7fd7090a..022c8d7c0cf8641b4797b3b8b30d61235d4e8479 100644 --- a/Makefile +++ b/Makefile @@ -158,7 +158,7 @@ test-all-no-stop: doc test-load-systems test-all-clean-load test-all-lisp-no-sto make check-all-results check-all-test-results: - @A="`grep -L '49 passing and 0 failing' build/results/*-test.text`" ; \ + @A="`grep -L '[5-9][0-9] passing and 0 failing' build/results/*-test.text`" ; \ if [ -n "$$A" ] ; then \ echo "Unexpected test failures on these implementations:" ; \ echo "$$A" ; \ diff --git a/action.lisp b/action.lisp index 343178a77442cd18779cd6416db2c047179abf01..d860509a1843fabe74d0bf52b29054990ff94084 100644 --- a/action.lisp +++ b/action.lisp @@ -17,8 +17,8 @@ #:perform #:perform-with-restarts #:retry #:accept #:traverse-actions #:traverse-sub-actions #:required-components ;; in plan #:action-path #:find-action #:stamp #:done-p - ;; condition - #:operation-definition-warning #:operation-definition-error + #:operation-definition-warning #:operation-definition-error ;; condition + #:build-op ;; THE generic operation )) (in-package :asdf/action) @@ -221,7 +221,7 @@ dependencies."))) (defmethod initialize-instance :before ((o operation) &key) ;; build-op is a special case. (unless (typep o '(or downward-operation upward-operation sideway-operation - selfward-operation non-propagating-operation build-op)) + selfward-operation non-propagating-operation)) (warn 'operation-definition-warning :format-control "No dependency propagating scheme specified for operation class ~S. @@ -243,7 +243,7 @@ The class needs to be updated for ASDF 3.1 and specify appropriate propagation m ;; For backward-compatibility with ASDF2, any operation that doesn't specify propagation ;; or non-propagation through an appropriate mixin will be downward and sideway. ,@(unless (typep o '(or downward-operation upward-operation sideway-operation - selfward-operation non-propagating-operation build-op)) + selfward-operation non-propagating-operation)) `(,@(downward-operation-depends-on o c) ,@(sideway-operation-depends-on o c))))) @@ -396,6 +396,7 @@ in some previous image, or T if it needs to be done.") ;;; Generic build operation (with-upgradability () + (defclass build-op (non-propagating-operation) ()) (defmethod component-depends-on ((o build-op) (c component)) `((,(or (component-build-operation c) 'load-op) ,c)))) diff --git a/operation.lisp b/operation.lisp index 85adece5e9d90512ecab9274b12a503dedb16f52..d169d6609323706d38ee5830aca5d2b0be24e95a 100644 --- a/operation.lisp +++ b/operation.lisp @@ -7,7 +7,6 @@ (:export #:operation #:operation-original-initargs #:original-initargs ;; backward-compatibility only. DO NOT USE. - #:build-op ;; THE generic operation #:*operations* #:make-operation #:find-operation #:feature)) (in-package :asdf/operation) @@ -55,8 +54,5 @@ ;; FEATURE is the ASDF1 misfeature that comes with IF-COMPONENT-DEP-FAILS (apply 'make-operation spec (operation-original-initargs context)))) (defmethod operation-original-initargs ((context symbol)) - nil) - - (defclass build-op (operation) ())) - + nil)) diff --git a/test/test-operation-classes.script b/test/test-operation-classes.script index 8b3ad531d3a6ddffaef947dadeaf4d3dab3d96d9..fac4006ab04db7cf9be83f3c1bb8e5acbab33b9f 100644 --- a/test/test-operation-classes.script +++ b/test/test-operation-classes.script @@ -39,23 +39,20 @@ "All of these classes should be instantiable without error.") (defclass my-unupdated-operation (operation) - () - ) + ()) (defclass my-good-operation (downward-operation) - () - ) + ()) (defclass my-incoherent-operation (downward-operation non-propagating-operation) - () - ) + ()) -(loop :for class :in *good-classes* - :do (assert (make-instance class))) +(dolist (class *good-classes*) (assert (make-instance class))) (signals operation-definition-warning (make-instance 'my-unupdated-operation)) +#-gcl (signals operation-definition-error (make-instance 'my-incoherent-operation))