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