[asdf-devel] Detecting non-defsystem dependencies

Zach Beane xach at xach.com
Thu Nov 7 14:35:17 UTC 2013


Faré <fahree at gmail.com> writes:

> On Thu, Nov 7, 2013 at 9:05 AM, Zach Beane <xach at xach.com> wrote:
>>> A "userspace" implementation of that can currently be done by having a
>>> hook :before asdf:operate, that pushes the current operation to a list
>>> associated to the (uiop:load-pathname) when said file is a .asd.
>>
>> Hmm. If I have a setup like this:
>>
>>   ;;;; a.asd
>>
>>   (asdf:load-system "b")
>>
>>   (asdf:defsystem "a" ...)
>>
>>
>> And:
>>
>>   ;;;; b.asd
>>
>>   (asdf:defsystem "b"
>>     :depends-on ("c")
>>     ...)
>>
>> What will be the load pathname associated with the load operation of
>> "c" when loading "a"?
>>
> There will be no direct loading of c via (operate 'load-op "c");
> rather, loading c will be part of the plan performed during the
> (operate 'load-op "b") evaluated in a.asd. So if you hook :before
> operate, you still need to look at the regular dependencies
> of the systems that you detect were loaded.

Thanks. I started to implement this idea, but I'm concerned because ASDF
already defines an unspecialized :before method on OPERATE. Is it safe
to clobber it? If not, what should I do instead?

Zach



More information about the asdf-devel mailing list