However, I also think we need a more general conditional construct for components of the system itself. Let's suppose we have a file that contains settings for the documentation. It would be nice if we could have something like:
((:file "doc-settings" :load-for-op (doc-op))
This also arises in handling test-op. It's typical to have a set of files that contain tests, and those files should not even be loaded except when you are performing a test-op (because they rely upon the test library which won't be loaded when you're just running the system). The only clean way I have found of doing this in existing ASDF is to push all of those files into a separate asdf system (say foo-tests for system foo), and then recording an :in-order-to ((test-op (test-op "foo-tests")))
I'd like it if there was a general way to specify components that are loaded in special circumstances like test-op and doc-op.
Right. I believe that something like
:in-order-to ((doc-op (load-op "albert")))
would do what you need there.
However, I also think we need a more general conditional construct for components of the system itself. Let's suppose we have a file that contains settings for the documentation. It would be nice if we could have something like:
((:file "doc-settings" :load-for-op (doc-op))
This also arises in handling test-op. It's typical to have a set of files that contain tests, and those files should not even be loaded except when you are performing a test-op (because they rely upon the test library which won't be loaded when you're just running the system). The only clean way I have found of doing this in existing ASDF is to push all of those files into a separate asdf system (say foo-tests for system foo), and then recording an :in-order-to ((test-op (test-op "foo-tests")))
I'd like it if there was a general way to specify components that are loaded in special circumstances like test-op and doc-op.