Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Didier Verna
asdf
Commits
b0a04b68
Commit
b0a04b68
authored
Sep 21, 2016
by
Francois-Rene Rideau
Browse files
Another pass of documentation after proofreading by Robert in !24.
parent
45c0bd77
Changes
3
Hide whitespace changes
Inline
Side-by-side
backward-interface.lisp
View file @
b0a04b68
...
...
@@ -36,24 +36,37 @@
(
define-condition
compile-warned
(
compile-error
)
())
(
defun
component-load-dependencies
(
component
)
"DEPRECATED. Please use COMPONENT-SIDEWAY-DEPENDENCIES instead."
;; Old deprecated name for the same thing. Please update your software.
(
component-sideway-dependencies
component
))
(
defgeneric
operation-forced
(
operation
))
;; Used by swank.asd for swank-loader.
;; swank.asd looks at where the operation was forced to actually reload swank.
;; But the only reason the action would be performed again is because it was forced;
;; so the check is redundant. More generally, if you have to do it when the operation was forced,
;; you should do it when not, and vice-versa, because it really shouldn't matter.
(
defgeneric
operation-forced
(
operation
)
(
:documentation
"DEPRECATED. Assume it's (constantly t) instead."
))
;; This method exists for backward compatibility with swank.asd, its only user,
;; that still uses it as of 2016-09-21.
;;
;; The magic PERFORM method in swank.asd only actually loads swank if it sees that
;; the operation was forced. But except for the first time, the only reason the action
;; would be performed to begin with is because it was forced; and the first time over,
;; it doesn't hurt that :reload t :delete t should be used. So the check is redundant.
;; More generally, if you have to do something when the operation was forced,
;; you should also do it when not, and vice-versa, because it really shouldn't matter.
;; Thus, the backward-compatible thing to do is to always return T.
;;
;; TODO: change this function to a defun that always returns T.
(
defmethod
operation-forced
((
o
operation
))
(
getf
(
operation-original-initargs
o
)
:force
))
;; These old interfaces from ASDF1 have never been very meaningful
;; but are still used in obscure places.
(
defgeneric
operation-on-warnings
(
operation
))
(
defgeneric
operation-on-failure
(
operation
))
(
defgeneric
(
setf
operation-on-warnings
)
(
x
operation
))
(
defgeneric
(
setf
operation-on-failure
)
(
x
operation
))
(
defgeneric
operation-on-warnings
(
operation
)
(
:documentation
"DEPRECATED. Please use UIOP:*COMPILE-FILE-WARNINGS-BEHAVIOUR* instead."
))
(
defgeneric
operation-on-failure
(
operation
)
(
:documentation
"DEPRECATED. Please use UIOP:*COMPILE-FILE-FAILURE-BEHAVIOUR* instead."
))
(
defgeneric
(
setf
operation-on-warnings
)
(
x
operation
)
(
:documentation
"DEPRECATED. Please SETF UIOP:*COMPILE-FILE-WARNINGS-BEHAVIOUR* instead."
))
(
defgeneric
(
setf
operation-on-failure
)
(
x
operation
)
(
:documentation
"DEPRECATED. Please SETF UIOP:*COMPILE-FILE-FAILURE-BEHAVIOUR* instead."
))
(
defmethod
operation-on-warnings
((
o
operation
))
*compile-file-warnings-behaviour*
)
(
defmethod
operation-on-failure
((
o
operation
))
...
...
@@ -67,12 +80,11 @@
;; As of 2.014.8, we mean to make this function obsolete,
;; but that won't happen until all clients have been updated.
;;(cerror "Use ASDF:SYSTEM-SOURCE-FILE instead"
"Function ASDF:SYSTEM-DEFINITION-PATHNAME is obsolete.
It used to expose ASDF internals with subtle differences with respect to
user expectations, that have been refactored away since.
We recommend you use ASDF:SYSTEM-SOURCE-FILE instead
for a mostly compatible replacement that we're supporting,
or even ASDF:SYSTEM-SOURCE-DIRECTORY or ASDF:SYSTEM-RELATIVE-PATHNAME
"DEPRECATED. This function used to expose ASDF internals with subtle
differences with respect to user expectations, that have been refactored
away since. We recommend you use ASDF:SYSTEM-SOURCE-FILE instead for a
mostly compatible replacement that we're supporting, or even
ASDF:SYSTEM-SOURCE-DIRECTORY or ASDF:SYSTEM-RELATIVE-PATHNAME
if that's whay you mean."
;;)
(
system-source-file
x
))
...
...
bundle.lisp
View file @
b0a04b68
...
...
@@ -72,6 +72,7 @@ itself."))
(
:documentation
"Abstract operation for linking files together"
))
(
defclass
gather-op
(
bundle-op
)
;; TODO: rename the slot and reader gather-op to gather-operation
((
gather-op
:initform
nil
:allocation
:class
:reader
gather-op
)
(
gather-type
:initform
:no-output-file
:allocation
:class
:reader
gather-type
))
(
:documentation
"Abstract operation for gathering many input files from a system"
))
...
...
@@ -80,10 +81,11 @@ itself."))
(
typep
op
'monolithic-op
))
;; Dependencies of a gather-op are the actions of the dependent operation
;; (from gather-op reader, defaulting to lib-op or compile-op depending
;; on the operation being monolithic or not) for all the (sorted) required components
;; for loading the system, recursing either to other systems or sub-components
;; depending on it being monolithic or not.
;; for all the (sorted) required components for loading the system.
;; Monolithic operations typically use lib-op as the dependent operation,
;; and all system-level dependencies as required components.
;; Non-monolithic operations typically use compile-op as the dependent operation,
;; and all transitive sub-components as required components (excluding other systems).
(
defmethod
component-depends-on
((
o
gather-op
)
(
s
system
))
(
let*
((
mono
(
operation-monolithic-p
o
))
(
deps
...
...
@@ -264,7 +266,7 @@ or of opaque libraries shipped along the source code."))
(
defclass
prebuilt-system
(
system
)
((
build-pathname
:initarg
:static-library
:initarg
:lib
:accessor
prebuilt-system-static-library
))
(
:documentation
"Class for a system
that comes precompiled with a
static library
file
"
)))
(
:documentation
"Class for a system
delivered with a linkable
static library
(.a/.lib)
"
)))
;;;
...
...
plan.lisp
View file @
b0a04b68
...
...
@@ -238,7 +238,8 @@ initialized with SEED."
;; in the current image, or NIL if it hasn't.
;; Note that if e.g. LOAD-OP only depends on up-to-date files, but
;; hasn't been done in the current image yet, then it can have a non-T timestamp,
;; yet a NIL done-in-image-p flag.
;; yet a NIL done-in-image-p flag: we can predict what timestamp it will have once loaded,
;; i.e. that of the input-files.
(
nest
(
block
())
(
let
((
dep-stamp
; collect timestamp from dependencies (or T if forced or out-of-date)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment