val find_dependencies : prog:string ‑> args:string list ‑> working_dir:string ‑> target:string ‑> string list Async.Deferred.Or_error.t
Call ocamldep
to recursively find dependencies for the target
compilation unit,
return a list of compilation units the target
depends on in topological order.
Failure cases includes:
A compilation unit is a string representing an ml/mli module. It does not contain the extension. Example:
file compilation unit a.mli? "a" Stack.mli? "Stack" /path/to/file.ml "file" /other/file.ml "file"
This function assumes that the target and all its dependencies are located under the
same directory, that is working_dir
, and that an .ml and an .mli for the same module
have the same case.