Purpose of components of type :static-file?

Robert P. Goldman rpgoldman at sift.net
Tue May 26 17:27:30 UTC 2015


Dave Cooper wrote:
> 
> Hi,
> 
> What is the intended purpose of the :static-files component-type in
> ASDF? I see a couple examples of their use in the ASDF manual, but
> didn't see an explanation or real example of how to use them downstream
> from including them in the defsystem form in the .asd file. 
> 
> Presumably they can be used for README, license, example files, and
> other resources which go with a system but are not Lisp source files to
> be compiled and loaded with the system. 
> 
> If so, then what are the supported/expected operations with
> static-files? For example, is there a way to query a system for files of
> type :static-file, so that you can do something with them (e.g. copy
> them to a distribution directory)? 

You are right that the intended purpose of static-files is to support
system introspection and human readers.

I have also used them for web content in lisp-powered web applications.

Yes, you can query for all the static files:

CL-USER> (remove-if-not #'(lambda (x) (typep x 'asdf:static-file))
                        (asdf:component-children (asdf:find-system
"alexandria")))
(#<ASDF/COMPONENT:STATIC-FILE "alexandria" "LICENCE">
 #<ASDF/COMPONENT:STATIC-FILE "alexandria" "tests.lisp">)
CL-USER>

Cheers,
r




More information about the asdf-devel mailing list