On Wed, Jun 26, 2013 at 7:31 AM, Didier Verna didier@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".