Skip to content
Snippets Groups Projects
Commit 103c3f2b authored by Robert P. Goldman's avatar Robert P. Goldman
Browse files
parents a7fba871 e6a97dc3
No related branches found
No related tags found
No related merge requests found
......@@ -74,7 +74,7 @@
:licence "MIT"
:description "Another System Definition Facility"
:long-description "ASDF builds Common Lisp software organized into defined systems."
:version "2.32.8" ;; to be automatically updated by make bump-version
:version "2.32.11" ;; to be automatically updated by make bump-version
:depends-on ()
#+asdf3 :encoding #+asdf3 :utf-8
;; For most purposes, asdf itself specially counts as a builtin system.
......
......@@ -31,23 +31,18 @@
(component-inline-methods component) nil)
(defun %define-component-inline-methods (ret rest)
(dolist (name +asdf-methods+)
(let ((keyword (intern (symbol-name name) :keyword)))
(loop :for data = rest :then (cddr data)
:for key = (first data)
:for value = (second data)
:while data
:when (eq key keyword) :do
(destructuring-bind (op qual? &rest rest) value
(multiple-value-bind (qual args-and-body)
(if (symbolp qual?)
(values (list qual?) rest)
(values nil (cons qual? rest)))
(destructuring-bind ((o c) &body body) args-and-body
(pushnew
(eval `(defmethod ,name ,@qual ((,o ,op) (,c (eql ,ret)))
,@body))
(component-inline-methods ret)))))))))
(loop* :for (key value) :on rest :by #'cddr
:for name = (and (keywordp key) (find key +asdf-methods+ :test 'string=))
:when name :do
(destructuring-bind (op &rest body) value
(loop :for arg = (pop body)
:while (atom arg)
:collect arg :into qualifiers
:finally
(destructuring-bind (o c) arg
(pushnew
(eval `(defmethod ,name ,@qualifiers ((,o ,op) (,c (eql ,ret))) ,@body))
(component-inline-methods ret)))))))
(defun %refresh-component-inline-methods (component rest)
;; clear methods, then add the new ones
......
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 2.32.8: Another System Definition Facility.
;;; This is ASDF 2.32.11: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
......@@ -74,5 +74,5 @@
(or #+abcl 2.25 #+cmu 2.018 2.27)))
(rename-package :asdf away)
(when *load-verbose*
(format t "; Renamed old ~A package away to ~A~%" :asdf away))))))
(format t "~&; Renamed old ~A package away to ~A~%" :asdf away))))))
......@@ -88,7 +88,7 @@ The :FORCE or :FORCE-NOT argument to OPERATE can be:
(defmethod operate ((operation operation) (component component)
&rest keys &key &allow-other-keys)
(let ((plan (apply 'traverse operation component keys)))
(perform-plan plan)
(apply 'perform-plan plan keys)
(values operation plan)))
(defun oos (operation component &rest args &key &allow-other-keys)
......
......@@ -386,9 +386,10 @@ processed in order by OPERATE."))
(with-compilation-unit () ;; backward-compatibility.
(call-next-method)))) ;; Going forward, see deferred-warning support in lisp-build.
(defmethod perform-plan ((steps list) &key)
(loop* :for (op . component) :in steps :do
(perform-with-restarts op component)))
(defmethod perform-plan ((steps list) &key force &allow-other-keys)
(loop* :for (o . c) :in steps
:when (or force (not (nth-value 1 (compute-action-stamp nil o c))))
:do (perform-with-restarts o c)))
(defmethod plan-operates-on-p ((plan list) (component-path list))
(find component-path (mapcar 'cdr plan)
......
......@@ -276,14 +276,13 @@ extract_tagged_asdf () {
case $tag in
1.*|2.0*|2.2[0-6]|2.26.61)
git show ${tag}:asdf.lisp > $file ;;
2.[2-9]*|3.*)
2.2[7-9]*|2.[3-9]*|3.*)
mkdir -p build/old/build
git archive ${tag} Makefile '*.lisp' 'uiop/*.lisp' | (cd build/old/ ; tar xf -)
git archive ${tag} | (cd build/old/ ; tar xf -)
make -C build/old
mv build/old/build/asdf.lisp build/asdf-${tag}.lisp
rm -rf build/old
;;
*)
rm -rf build/old ;;
*)
echo "Don't know how to extract asdf.lisp for version $tag"
exit 55
;;
......@@ -328,6 +327,7 @@ valid_upgrade_test_p () {
run_upgrade_tests () {
cd ${ASDFDIR}
mkdir -p build/results
rm -f build/*.*f* ## Remove stale FASLs from ASDF 1.x, especially when different implementations have same name
ASDF_OUTPUT_TRANSLATIONS="(:output-translations (\"${ASDFDIR}\" (\"${ASDFDIR}/build/fasls/\" :implementation \"asdf/\")) (t (\"${ASDFDIR}/build/fasls/\" :implementation \"root/\")) :ignore-inherited-configuration)"
export ASDF_OUTPUT_TRANSLATIONS
su=test/script-support.lisp
......
......@@ -2,13 +2,14 @@
(in-package :asdf)
#-gcl2.6
#+gcl2.6 (leave-test "GCL 2.6 sucks. Skipping test." 0)
(assert (handler-case
(let ((*compile-file-failure-behaviour* :warn))
(load-system 'test-compile-file-failure :force t)
t)
(compile-file-error () nil)))
#-gcl2.6
(assert (handler-case
(let ((*compile-file-failure-behaviour* :error))
(load-system 'test-compile-file-failure :force t)
......
......@@ -243,7 +243,7 @@ Note that ASDF ALWAYS raises an error if it fails to create an output file when
(list (unsymbolify-function-name fun)
(loop :for arg :in formals :collect
(typecase arg ;; notably preserve constant keyword arguments
((or symbol number character string pathname) arg)))
((or symbol number character simple-string pathname) arg)))
nil)))))
(defun unreify-deferred-warning (reified-deferred-warning)
(destructuring-bind (&key warning-type function-name source-note args)
......@@ -673,9 +673,9 @@ it will filter them appropriately."
:for n :from 1
:for f = (add-pathname-suffix
output (format nil "-FASL~D" n))
:do #-lispworks-personal-edition (lispworks:copy-file i f)
#+lispworks-personal-edition (concatenate-files (list i) f)
(push f fasls))
:do ;; Not available on LW personal edition or LW 6.0 on Mac: (lispworks:copy-file i f)
(concatenate-files (list i) f)
(push f fasls))
(ignore-errors (lispworks:delete-system :fasls-to-concatenate))
(eval `(scm:defsystem :fasls-to-concatenate
(:default-pathname ,(pathname-directory-pathname output))
......
......@@ -264,7 +264,7 @@ Use ELEMENT-TYPE and EXTERNAL-FORMAT for the stream passed to the OUTPUT process
#+os-unix (coerce (cons (first command) command) 'vector)
#+os-windows command
:input interactive :output (or (and pipe :stream) interactive) :wait wait
#+os-windows :show-window #+os-windows (and pipe :hide))
#+os-windows :show-window #+os-windows (and (or (null output) pipe) :hide))
#+clisp
(flet ((run (f &rest args)
(apply f `(,@args :input ,(when interactive :terminal) :wait ,wait :output
......@@ -354,7 +354,9 @@ Use ELEMENT-TYPE and EXTERNAL-FORMAT for the stream passed to the OUTPUT process
(declare (ignorable interactive))
#+(or abcl xcl) (ext:run-shell-command command)
#+allegro
(excl:run-shell-command command :input interactive :output interactive :wait t)
(excl:run-shell-command
command :input interactive :output interactive :wait t
#+os-windows :show-window #+os-windows (unless (or interactive (eq output t)) :hide))
#+(or clisp clozure cmu (and lispworks os-unix) sbcl scl)
(process-result (run-program command :pipe nil :interactive interactive) nil)
#+ecl (ext:system command)
......@@ -362,7 +364,7 @@ Use ELEMENT-TYPE and EXTERNAL-FORMAT for the stream passed to the OUTPUT process
#+gcl (lisp:system command)
#+(and lispworks os-windows)
(system:call-system-showing-output
command :show-cmd interactive :prefix "" :output-stream nil)
command :show-cmd (or interactive (eq output t)) :prefix "" :output-stream nil)
#+mcl (ccl::with-cstrs ((%command command)) (_system %command))
#+mkcl (nth-value 2
(mkcl:run-program #+windows command #+windows ()
......
......@@ -17,7 +17,7 @@ UIOP is also known as ASDF/DRIVER or ASDF-UTILS,
being transcluded into asdf.lisp together with ASDF/DEFSYSTEM."
#+asdf3 :version #+asdf3 (:read-file-form "version.lisp-expr")
#+asdf-encoding :encoding #+asdf-encoding :utf-8
:around-compile call-without-redefinition-warnings
#+asdf3 :around-compile #+asdf3 call-without-redefinition-warnings
:components
((:static-file "version.lisp-expr")
(:static-file "contrib/debug.lisp")
......
......@@ -52,7 +52,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO
;; "3.4.5.67" would be a development version in the official upstream of 3.4.5.
;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
(asdf-version "2.32.8")
(asdf-version "2.32.11")
(existing-version (asdf-version)))
(setf *asdf-version* asdf-version)
(when (and existing-version (not (equal asdf-version existing-version)))
......
"2.32.8"
"2.32.11"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment