Newer
Older
This not-so-frequently asked question is primarily for ASDF developers,
but those who encounter an unexpected error in some test may be
interested, too.
Here's the procedure for experimenting with tests in a REPL:
@example
;; BEWARE! Some tests expect you to be in the .../asdf/test directory
;; If your REPL is not there yet, change your current directory:
;; under SLIME, you may: ,change-directory ~/common-lisp/asdf/test/
;; otherwise you may evaluate something like:
(require "asdf") (asdf:upgrade-asdf) ;load UIOP & update asdf.lisp
(uiop:chdir (asdf:system-relative-pathname :asdf "test/"))
(setf *default-pathname-defaults* (uiop:getcwd))
;; Load the test script support.
(load "script-support.lisp")
;; Initialize the script support.
;; This will also change your *package* to asdf-test.
;; NB: this function is also available from package cl-user,
;; and also available with the shorter name da in both packages.
(asdf-test::debug-asdf)
;; In case you modified ASDF since you last tested it,
;; you need to update asdf.lisp itself by evaluating 'make' in a shell,
;; or (require "asdf") (asdf:load-system :asdf) in another CL REPL,
;; if not done in this REPL above.
;; *Then*, in this REPL, you need to evaluate:
;(asdf-test::compile-load-asdf)
;; Now, you may experiment with test code from a .script file.
;; See the instructions given at the end of your failing test
;; to identify which form is needed, e.g.
(frob-packages)
(asdf::with-asdf-cache () (load "test-utilities.script"))
@end example
@comment FIXME: Add a FAQ about how to use a new system class...
Francois-Rene Rideau
committed
@node Ongoing Work, Bibliography, FAQ, Top
@unnumbered Ongoing Work
For an active list of things to be done,
see the @file{TODO} file in the source repository.
Also, bugs are currently tracked on launchpad:
@url{https://launchpad.net/asdf}.
Francois-Rene Rideau
committed
@node Bibliography, Concept Index, Ongoing Work, Top
@unnumbered Bibliography
@item Francois-Rene Rideau:
``ASDF 3, or Why Lisp is Now an Acceptable Scripting Language'', 2014.
This article describes the innovations in ASDF 3 and 3.1,
as well as historical information on previous versions.
@url{https://github.com/fare/asdf3-2013}
Francois-Rene Rideau
committed
@item Alastair Bridgewater:
``Quick-build'' (private communication), 2012.
@code{quick-build} is a simple and robust one file, one package build system,
similar to @code{faslpath}, in 182 lines of code
(117 of which are not blank, not comments, not docstrings).
Unhappily, it remains unpublished and its IP status is unclear as of April 2014.
@code{asdf/package-system} is mostly compatible with it,
modulo a different setup for toplevel hierarchies.
Francois-Rene Rideau
committed
@item Zach Beane:
``Quicklisp'', 2011.
The Quicklisp blog and Xach's livejournal contain information on Quicklisp.
@url{http://blog.quicklisp.org/}
@url{http://xach.livejournal.com/}
@item Francois-Rene Rideau and Robert Goldman:
``Evolving ASDF: More Cooperation, Less Coordination'', 2010.
This article describes the main issues solved by ASDF 2.
@url{https://common-lisp.net/project/asdf/doc/ilc2010draft.pdf}
@url{https://gitlab.common-lisp.org/asdf/ilc2010}
Francois-Rene Rideau
committed
@item Francois-Rene Rideau and Spencer Brody:
``XCVB: an eXtensible Component Verifier and Builder for Common Lisp'', 2009.
This article describes XCVB, a proposed competitor for ASDF;
many of its ideas have been incorporated into ASDF 2 and 3,
though many other ideas still haven't.
@url{https://common-lisp.net/project/xcvb/}
@item Peter von Etter:
``faslpath'', 2009.
Francois-Rene Rideau
committed
@code{faslpath} is similar to the latter @code{quick-build}
and our yet latter @code{asdf/package-system} extension,
except that it uses dot @code{.} rather than slash @code{/} as a separator.
Francois-Rene Rideau
committed
@url{https://code.google.com/p/faslpath/}
@item Drew McDermott:
``A Framework for Maintaining the Coherence of a Running Lisp,''
International Lisp Conference, 2005, available in pre-print form at
@url{http://www.cs.yale.edu/homes/dvm/papers/lisp05.pdf}
Francois-Rene Rideau
committed
@item Dan Barlow: ``ASDF Manual'', 2004.
Francois-Rene Rideau
committed
Older versions of this document from the days of ASDF 1;
they include ideas laid down by Dan Barlow,
and comparisons with older defsystems (@code{mk-defsystem})
and defsystem (@code{defsystem-4}, kmp's Memo 801).
@item Marco Antoniotti and Peter Van Eynde:
``@code{DEFSYSTEM}: A @code{make} for Common Lisp, A Thoughtful Re-Implementation of an Old Idea'', 2002.
The @file{defsystem-4} proposal available in the CLOCC repository.
@item Mark Kantrovitz: ``Defsystem: A Portable Make Facility for Common Lisp'', 1990.
The classic @file{mk-defsystem}, later variants of which
are available in the CLOCC repository as @code{defsystem-3.x}.
@item Richard Elliot Robbins:
``BUILD: A Tool for Maintaining Consistency in Modular Systems'', MIT AI TR 874, 1985.
@url{ftp://publications.ai.mit.edu/ai-publications/pdf/AITR-874.pdf}
@item Kent M. Pitman (kmp): ``The Description of Large Systems'', MIT AI Memo 801, 1984.
Available in updated-for-CL form on the web at
@url{http://nhplace.com/kent/Papers/Large-Systems.html}
@item Dan Weinreb and David Moon:
``Lisp Machine Manual'', MIT, 1981.
The famous CHINE NUAL describes one of the earliest variants of DEFSYSTEM.
@url{https://bitsavers.trailing-edge.com/pdf/mit/cadr/chinual_4thEd_Jul81.pdf}
Francois-Rene Rideau
committed
@node Concept Index, Function and Class Index, Bibliography, Top
@unnumbered Concept Index
@printindex cp
@node Function and Class Index, Variable Index, Concept Index, Top
@unnumbered Function and Class Index
@printindex fn
@node Variable Index, , Function and Class Index, Top
@unnumbered Variable Index
@printindex vr
@bye
@c LocalWords: clbuild tarballs defsystem Quicklisp initarg uiop fasl
@c LocalWords: namestring initargs fasls