Next: Creating new operations, Previous: Operations, Up: Operations
All the operations described in this section are in the asdf package.
They are invoked via the operate generic function.
(asdf:operate 'asdf:operation-name :system-name {operation-options ...})
compile-op &key proclamationsThis operation compiles the specified component. If proclamations are supplied, they will be proclaimed. This is a good place to specify optimization settings.
When creating a new component type, you should provide methods for
compile-op.When
compile-opis invoked, component dependencies often cause some parts of the system to be loaded as well as compiled. Invokingcompile-opdoes not necessarily load all the parts of the system, though; useload-opto load a system.
load-op &key proclamationsThis operation loads a system.
The default methods for
load-opcompile files before loading them. For parity, your own methods on new component types should probably do so too.
load-source-opThis operation will load the source for the files in a module even if the source files have been compiled. Systems sometimes have knotty dependencies which require that sources are loaded before they can be compiled. This is how you do that.
If you are creating a component type, you need to implement this operation — at least, where meaningful.
test-opThis operation will perform some tests on the module. The default method will do nothing. The default dependency is to require
load-opto be performed on the module first. The defaultoperation-done-pis that the operation is never done — we assume that if you invoke thetest-op, you want to test the system, even if you have already done so.The results of this operation are not defined by ASDF. It has proven difficult to define how the test operation should signal its results to the user in a way that is compatible with all of the various test libraries and test techniques in use in the community.