New script for deferred warnings.
:licence "MIT"
:description "Another System Definition Facility"
:long-description "ASDF builds Common Lisp software organized into defined systems."
- :version "2.26.132" ;; to be automatically updated by make bump-version
+ :version "2.26.133" ;; to be automatically updated by make bump-version
:depends-on ()
:components ((:module "build" :components ((:file "asdf"))))
:in-order-to (#+asdf2.27 (compile-op (monolithic-load-concatenated-source-op asdf/defsystem))))
#:build-args #:name-suffix #:prologue-code #:epilogue-code #:static-library
#:component-translate-output-p #:translate-output-p
#:component-bundle-pathname #:bundle-pathname
- #:component-bundle-operation #:bundle-operation
#:component-entry-point #:entry-point))
(in-package :asdf/bundle)
(defclass bundle-op (operation)
((build-args :initarg :args :initform nil :accessor bundle-op-build-args)
(name-suffix :initarg :name-suffix :initform nil)
- (bundle-type :reader bundle-type)
+ (bundle-type :initform :no-output-file :reader bundle-type)
#+ecl (lisp-files :initform nil :accessor bundle-op-lisp-files)
#+mkcl (do-fasb :initarg :do-fasb :initform t :reader bundle-op-do-fasb-p)
#+mkcl (do-static-library :initarg :do-static-library :initform t :reader bundle-op-do-static-library-p)))
(defclass bundle-system (system)
((bundle-pathname
:initform nil :initarg :bundle-pathname :accessor component-bundle-pathname)
- (bundle-operation
- :initarg :bundle-operation :accessor component-bundle-operation)
(entry-point
:initform nil :initarg :entry-point :accessor component-entry-point)
(translate-output-p
(defmethod component-depends-on :around ((o bundle-op) (c component))
(declare (ignorable o c))
- (if-let (op (and (eq (type-of o) 'bundle-op) (component-bundle-operation c)))
+ (if-let (op (and (eq (type-of o) 'bundle-op) (component-build-operation c)))
`((,op ,c))
(call-next-method)))
;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
-;;; This is ASDF 2.26.132: Another System Definition Facility.
+;;; This is ASDF 2.26.133: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
#:operation
#:operation-original-initargs ;; backward-compatibility only. DO NOT USE.
#:build-op ;; THE generic operation
+ #:*operations*
#:make-operation
#:find-operation))
(in-package :asdf/operation)
(latest-stamp-f stamp (funcall dependency-stamper dep-o dep-c)))))
stamp)
-(asdf-debug)
-
(defmethod compute-action-stamp (plan (o operation) (c component) &key just-done)
;; In a distant future, safe-file-write-date and component-operation-time
;; shall also be parametrized by the plan, or by a second model object.
(defsystem :hello-world-example
:class :bundle-system
:build-operation program-op
- :entry-point "hello:main"
+ :entry-point "hello:entry-point"
:depends-on (:asdf-driver)
:translate-output-p nil
:components ((:file "hello")))
(defpackage :hello
(:use :cl :asdf/driver)
- (:export #:main))
+ (:export #:main #:entry-point))
(in-package :hello)
(format t "hello, world~%")
(when arguments
(format t "You passed ~D arguments:~%~{ ~S~%~}" (length arguments) arguments)))
+
+(defun entry-point ()
+ (apply 'main *command-line-arguments*))
(load-system 'test-compile-file-failure :force t)
nil)
(compile-file-error () t)))
-
--- /dev/null
+;;; -*- Lisp -*-
+
+(clear-system :test-deferred-warnings)
+(def-test-system :test-deferred-warnings
+ :serial t
+ :components ((:file "undefined-function")
+ (:file "file1")))
+(assert
+ (handler-case
+ (let ((*compile-file-warnings-behaviour* :ignore))
+ (load-system :test-deferred-warnings :force t)
+ t)
+ (compile-file-error () nil)))
+
+#-ecl
+(assert
+ (handler-case
+ (let ((*compile-file-warnings-behaviour* :error))
+ (load-system :test-deferred-warnings :force t)
+ nil)
+ (compile-warned-error () t)))
+
+#+(or clozure sbcl)
+(assert
+ (handler-case
+ (let ((*compile-file-warnings-behaviour* :error))
+ (perform 'compile-op :test-deferred-warnings)
+ nil)
+ (compile-warned-error () t)))
:load (native-namestring (subpathname *test-directory* "make-hello-world.lisp"))))
(assert (probe-file* exe))
-(assert-equal (run-program/ (native-namestring exe) :output :lines)
+(assert-equal (run-program/ `(,(native-namestring exe)) :output :lines)
'("hello, world"))
+
+(assert-equal (run-program/ `(,(native-namestring exe) "a" "b c" "d") :output :lines)
+ '("hello, world"
+ "You passed 3 arguments:"
+ " \"a\""
+ " \"b c\""
+ " \"d\""))
--- /dev/null
+
+(in-package :asdf)
+
+(defun using-some-undefined-function ()
+ (some-undefined-function))
;; "2.345.6" would be a development version in the official upstream
;; "2.345.0.7" would be your seventh local modification of official release 2.345
;; "2.345.6.7" would be your seventh local modification of development version 2.345.6
- (asdf-version "2.26.132")
+ (asdf-version "2.26.133")
(existing-asdf (find-class (find-symbol* :component :asdf nil) nil))
(existing-version *asdf-version*)
(already-there (equal asdf-version existing-version))