[asdf-devel] component-load-dependencies

Faré fahree at gmail.com
Wed Jun 26 12:28:42 UTC 2013


On Wed, Jun 26, 2013 at 7:31 AM, Didier Verna <didier at lrde.epita.fr> wrote:
>
>   Hello,
>
> currently Declt advertises component dependencies by using
> COMPONENT-LOAD-DEPENDENCIES. This function however only returns a list
> of symbols naming the components.
>
> What would be the best way to retrieve a list of component objects
> instead ?
>
> Thanks!
>
Cher Didier,

what are you *really* trying to do?

Usually, one wants to get a list of components within a system.
Then, one typically uses required-components, e.g. like this (YMMV):
  (asdf:required-components (asdf:find-system :fare-utils)
:component-type '(not asdf:system) :keep-operation 'asdf:load-op
:keep-component 'asdf:source-file)

If you *really* want to walk the dependencies by yourself, use
asdf/plan:visit-dependencies.
There are also functions map-direct-dependencies,
reduce-direct-dependencies, direct-dependencies that you may want to
use instead. More often than not, it's a bad idea, though.
Most of the time, if you need to go under the hood, it is better to manually use
   traverse-action traverse-actions traverse-sub-actions
with your choice of plan, e.g. a sequential-plan or filtered-sequential-plan.

These are all ASDF 3 idioms. For these kinds of hacks, ASDF 2 is just
not supported.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Faré's Second Law of Dissent: I am Right, whence it follows that
all who disagree with me are either (1) evil, (2) stupid or (3) crazy.
(The alternatives are not mutually exclusive.)
This universal law is valid for all values of "me", including "you".



More information about the asdf-devel mailing list