Next: Creating new operations, Previous: Operations, Up: Operations [Contents][Index]
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 proclamations
This 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-op
is invoked,
component dependencies often cause some parts of the system
to be loaded as well as compiled.
Invoking compile-op
does not necessarily load all the parts of the system, though;
use load-op
to load a system.
load-op
&key proclamations
This operation loads a system.
The default methods for load-op
compile files before loading them.
For parity, your own methods on new component types should probably do so too.
load-source-op
This 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-op
This operation will perform some tests on the module.
The default method will do nothing.
The default dependency is to require
load-op
to be performed on the module first.
The default operation-done-p
is that the operation is never done
—
we assume that if you invoke the test-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.
Next: Creating new operations, Previous: Operations, Up: Operations [Contents][Index]