Only if one of those operations does not meet your needs should you
write a method for @code{component-depends-on}.
In this case, your method will take as specialized arguments
an @code{operation} and a @code{component} which together identify an action,
and return a list of entries describing actions that this action depends on.
The format of entries is described below.
It is @emph{strongly} advised that
you should always append the results of @code{(call-next-method)}
We @emph{strongly} advise
appending the results of @code{(call-next-method)}
to the results of your method,
or ``interesting'' failures will likely occur,
unless you're a true specialist of ASDF internals.
or ``interesting'' failures are likely to occur,
unless you're a true expert in ASDF internals.
It is unhappily too late to compatibly use the @code{append} method combination,
but conceptually that's the protocol that is being manually implemented.
@@ -2715,12 +2730,17 @@ An operation @emph{may} provide methods for the following generic functions:
@item @code{input-files}
@findex input-files
A method for this function is often not needed,
since ASDF has a pretty clever default @code{input-files} mechanism.
You only need create a method if there are multiple ultimate input
files.
Most operations inherit from @code{selfward-operation}, which
appropriately sets the input-files to include the source file itself.
@code{(input-files @var{operation} @var{component})} should return a
list of the files taken as input when applying @var{operation} to
@var{component}. ASDF will inspect the file modification timestamps on
these files to decide whether to re-run an action. A return value of @code{nil}
denotes an action which takes no files as input.
Operations which subclass @code{selfward-operation} will usually not need to define a method on @code{input-files}, as a method on @code{selfward-operation} collects the @code{output-files} of all the selfward dependencies.
Operations which take no files as input need not define a method, as a default method returns @code{nil}.
Operations which are not selfward and read files as input should define methods on this function.
@c FIXME: Add documentation of built-in operation types.
@@ -3118,23 +3138,13 @@ End side note
In ASDF, the dependency information for a given component and operation
can be queried using @code{(component-depends-on operation component)},
which returns a list
which returns a list of sublists, each of which defines an action.