Commit 3689ff49 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

2.26.171: More backward compatibility.

Reinstantiate the component-property interface, for backward-compatibility.

Also for backward compatibility, be ready to survive missing warnings-file;
CFFI notably fails to use compile-file*.
parent dc100e7e
......@@ -66,7 +66,7 @@
:licence "MIT"
:description "Another System Definition Facility"
:long-description "ASDF builds Common Lisp software organized into defined systems."
:version "2.26.170" ;; to be automatically updated by make bump-version
:version "2.26.171" ;; 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.
......
......@@ -15,6 +15,7 @@
#:operation-forced
#:operation-on-failure
#:operation-on-warnings
#:component-property
#:run-shell-command
#:system-definition-pathname))
(in-package :asdf/backward-interface)
......@@ -135,3 +136,18 @@ Please use ASDF-DRIVER:RUN-PROGRAM instead."
(run-program command :force-shell t :ignore-error-status t :output *verbose-out*)))
(defvar *asdf-verbose* nil) ;; backward-compatibility with ASDF2 only. Unused.
;; backward-compatibility methods. Do NOT use in new code. NOT SUPPORTED.
(defgeneric* component-property (component property))
#-gcl2.6 (defgeneric* (setf component-property) (new-value component property))
(defmethod component-property ((c component) property)
(cdr (assoc property (slot-value c 'properties) :test #'equal)))
(defmethod (setf component-property) (new-value (c component) property)
(let ((a (assoc property (slot-value c 'properties) :test #'equal)))
(if a
(setf (cdr a) new-value)
(setf (slot-value c 'properties)
(acons property new-value (slot-value c 'properties)))))
new-value)
......@@ -34,7 +34,7 @@
#:author #:maintainer #:licence #:source-file #:defsystem-depends-on
#:sibling-dependencies #:if-feature #:in-order-to #:inline-methods
#:relative-pathname #:absolute-pathname #:operation-times #:around-compile
#:%encoding #:properties #:parent))
#:%encoding #:properties #:component-properties #:parent))
(in-package :asdf/component)
(defgeneric* component-name (component)
......@@ -100,7 +100,9 @@ another pathname in a degenerate way."))
(operation-times :initform (make-hash-table)
:accessor component-operation-times)
(around-compile :initarg :around-compile)
(properties) ;; Only for backward-compatibility during upgrades from ASDF2. DO NOT USE.
;; Properties are for backward-compatibility with ASDF2 only. DO NOT USE.
(properties :accessor component-properties :initarg :properties
:initform nil)
(%encoding :accessor %component-encoding :initform nil :initarg :encoding)
;; For backward-compatibility, this slot is part of component rather than child-component. ASDF4: don't.
(parent :initarg :parent :initform nil :reader component-parent)
......
......@@ -89,6 +89,10 @@
(defun* normalize-version (form pathname)
(etypecase form
((or string null) form)
(real
(asdf-message "Invalid use of real number ~D as :version in ~S. Substituting a string."
form pathname)
(format nil "~D" form)) ;; 1.0 is "1.0"
(cons
(ecase (first form)
((:read-file-form)
......
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 2.26.170: Another System Definition Facility.
;;; This is ASDF 2.26.171: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
......
......@@ -69,6 +69,7 @@
#:component-depends-on ; backward-compatible name rather than action-depends-on
#:module-components ; backward-compatibility
#:operation-on-warnings #:operation-on-failure ; backward-compatibility
#:component-property ; backward-compatibility
#:system-description
#:system-long-description
......
......@@ -5,7 +5,7 @@
(:recycle :asdf/lisp-action :asdf)
(:intern #:proclamations #:flags)
(:use :asdf/common-lisp :asdf/driver :asdf/upgrade
:asdf/component :asdf/system :asdf/find-component :asdf/operation :asdf/action)
:asdf/cache :asdf/component :asdf/system :asdf/find-component :asdf/operation :asdf/action)
(:export
#:try-recompiling
#:cl-source-file #:cl-source-file.cl #:cl-source-file.lsp
......@@ -103,14 +103,18 @@
(defun* report-file-p (f)
(equal (pathname-type f) "build-report"))
(defun* perform-lisp-warnings-check (o c)
(check-deferred-warnings
(remove-if-not #'warnings-file-p (input-files o c))
"~/asdf-action::format-action/" (list (cons o c)))
(let* ((output (output-files o c))
(report (find-if #'report-file-p output)))
(when report
(with-open-file (s report :direction :output :if-exists :supersede)
(format s ":success~%")))))
(let* ((expected-warnings-files (remove-if-not #'warnings-file-p (input-files o c)))
(actual-warnings-files (loop :for w :in expected-warnings-files
:when (get-file-stamp w)
:collect w
:else :do (warn "Missing warnings file ~S while ~A"
w (action-description o c)))))
(check-deferred-warnings actual-warnings-files)
(let* ((output (output-files o c))
(report (find-if #'report-file-p output)))
(when report
(with-open-file (s report :direction :output :if-exists :supersede)
(format s ":success~%"))))))
(defmethod perform ((o compile-op) (c cl-source-file))
(perform-lisp-compilation o c))
(defmethod output-files ((o compile-op) (c cl-source-file))
......
......@@ -51,7 +51,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.26.170")
(asdf-version "2.26.171")
(existing-version (asdf-version)))
(setf *asdf-version* asdf-version)
(when (and existing-version (not (equal asdf-version existing-version)))
......
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