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
asdf
asdf
Commits
80477bdb
Commit
80477bdb
authored
Jun 09, 2010
by
Francois-Rene Rideau
Browse files
Merge branch 'master' of
http://common-lisp.net/project/asdf/asdf
parents
dcdc48a0
4711ad45
Changes
3
Hide whitespace changes
Inline
Side-by-side
asdf.lisp
View file @
80477bdb
...
...
@@ -467,6 +467,16 @@ processed in order by OPERATE."))
;;;; General Purpose Utilities
(
defmacro
while-collecting
((
&rest
collectors
)
&body
body
)
"COLLECTORS should be a list of names for collections. A collector
defines a function that, when applied to an argument inside BODY, will
add its argument to the corresponding collection. Returns multiple values,
a list for each collection, in order.
E.g.,
\(while-collecting \(foo bar\)
\(dolist \(x '\(\(a 1\) \(b 2\) \(c 3\)\)\)
\(foo \(first x\)\)
\(bar \(second x\)\)\)\)
Returns two values: \(A B C\) and \(1 2 3\)."
(
let
((
vars
(
mapcar
#'
(
lambda
(
x
)
(
gensym
(
symbol-name
x
)))
collectors
))
(
initial-values
(
mapcar
(
constantly
nil
)
collectors
)))
`
(
let
,
(
mapcar
#'
list
vars
initial-values
)
...
...
test/test-redundant-recompile.asd
0 → 100644
View file @
80477bdb
;;; -*- Lisp -*-
(
asdf:defsystem
test-redundant-recompile
:components
((
:file
"file2"
:in-order-to
((
compile-op
(
load-op
"file1"
))
(
load-op
(
load-op
"file1"
))))
(
:file
"file1"
)))
#|
;;;This test system definition attempts to replicate the excess dependencies
;;;that seem to give rise to launchpad bug 590517
;;;(https://bugs.launchpad.net/asdf/+bug/590517)
1) from clean, check that all fasl files build and that some function
defined in the second file is present
2) load again. Check to make sure that nothing is recompiled.
|#
test/test-redundant-recompile.script
0 → 100644
View file @
80477bdb
;;; -*- Lisp -*-
(load "script-support")
(load-asdf)
(quit-on-error
(setf asdf:*central-registry* '(*default-pathname-defaults*))
(asdf:operate 'asdf:load-op 'test-redundant-recompile)
;; test that it compiled
(let* ((file1 (asdf:compile-file-pathname* "file1"))
(file2 (asdf:compile-file-pathname* "file2"))
(file1-date (file-write-date file1))
(file2-date (file-write-date file2)))
(format t "~&test-redundant-recompile 1: ~S ~S~%" file1 file1-date)
(format t "~&test-redundant-recompile 2: ~S ~S~%" file2 file2-date)
(assert file1-date)
(assert file2-date)
;; and loaded
(assert (symbol-value (find-symbol (symbol-name :*file1*) :test-package)))
;; now rerun the load-op and check that no files are recompiled
;;(trace asdf::operation-done-p asdf::traverse)
(asdf:operate 'asdf:load-op 'test-redundant-recompile)
(assert (= file1-date (file-write-date file1)))
(assert (= file2-date (file-write-date file2)))))
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