Module Ketrew.Plugin

module Plugin: sig .. end

val default_plugins : (string * (module Long_running.LONG_RUNNING)) list
The “long-running” plugins loaded by default.
val register_long_running_plugin : name:string -> (module Long_running.LONG_RUNNING) -> unit
Function to be called from dynamically loaded plugins.
val long_running_log : string -> string -> (string * Ketrew_pure.Internal_pervasives.Log.t) list
long_running_log ~state plugin_name serialized_run_params calls Ketrew.Long_running.LONG_RUNNING.log with the right plugin.
val additional_queries : Ketrew_pure.Target.t -> (string * Ketrew_pure.Internal_pervasives.Log.t) list
Get the potential additional queries ((key, description) pairs) that can be called on the target.
val call_query : target:Ketrew_pure.Target.t ->
string ->
(string, Ketrew_pure.Internal_pervasives.Log.t) Unix_io.Deferred_result.t
Call a query on a target.
val find_plugin : string -> (module Long_running.LONG_RUNNING) option
val load_plugins : [ `Compiled of string | `OCamlfind of string ] list ->
(unit,
[> `Dyn_plugin of [> `Dynlink_error of Dynlink.error | `Findlib of exn ]
| `Failure of string ])
Unix_io.Deferred_result.t
val load_plugins_no_lwt_exn : [ `Compiled of string | `OCamlfind of string ] list -> unit
Dynamically load a list of plugins, this function is not cooperative (with Lwt) and may raise Failure.

The specification is (structurally) the same type as Ketrew_pure.Configuration.plugin.