Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#43 Load some dependencies earlier

feature request
open
Daniel Barlow
asdf (12)
5
2005-11-07
2005-11-07
Tomas Zellerin
No

(relates to cvs version of asdf.lisp, 1.88)

Hello,

please consider attached patch.

Background: I tried to use asdf as general purpose
packaging program (not only for compile/load of lisp
files), so I need to define new operations and
component types, and I would like to make work
immediate (asdf:operate 'asdf::new-op "system-with-new-
component") out of the box, without loading anything
else but core asdf before.

The patch introduces new parameter for
defsystem, :asdf-extensions. This
should be a list of packages that are loaded before any
other "compilation" of
defsystem is done. Thus, the system definition may
contain components of types
defined in this package. The packages are also pushed
to dependencies of the
system for all operations. While it is possible to provide
(asdf:operate 'asdf:load-op "asdf-extension")
in the .asd file, AFAIK the dependency of all operations
on load-op can not be
achieved. Use of the new option also cleaner expresses
intent.

[OT] I admit that I do not understand some of the
current parameters, do-first in particular (is the fact that
it is allowed to be in defsystem, but ignored in course of
initialization a bug or some plan I do not understand?)

Function asdf:operate is modified to first load the
system and *then*
interpret the operation symbol as class. This allows to
use non-standard
operations directly, relying on their definition in specified
asdf-extensions.

Third change is using method-combination append for
component-depends-on. It
is mostly orthogonal to the other changes.

Discussion

  • Tomas Zellerin
    Tomas Zellerin
    2005-11-07

    patch file for asdf

     
    Attachments