`sig
type command
val command :
?env:string array ->
?verbose:bool ->
?name:string ->
?metadata:(string * string) list ->
?dir:string ->
?allow_stdin:bool ->
?text:string -> string -> string list -> OpamProcess.command
val string_of_command : OpamProcess.command -> string
val text_of_command : OpamProcess.command -> string option
val is_verbose_command : OpamProcess.command -> bool
val make_command_text :
?color:OpamGlobals.text_style ->
string -> ?args:string list -> string -> string
type t = {
p_name : string;
p_args : string list;
p_pid : int;
p_cwd : string;
p_time : float;
p_stdout : string option;
p_stderr : string option;
p_env : string option;
p_info : string option;
p_metadata : (string * string) list;
p_verbose : bool;
}
type result = {
r_code : int;
r_signal : int option;
r_duration : float;
r_info : (string * string) list;
r_stdout : string list;
r_stderr : string list;
r_cleanup : string list;
}
val run : OpamProcess.command -> OpamProcess.result
val run_background : OpamProcess.command -> OpamProcess.t
val dry_run_background : OpamProcess.command -> OpamProcess.t
val wait : OpamProcess.t -> OpamProcess.result
val dontwait : OpamProcess.t -> OpamProcess.result option
val wait_one : OpamProcess.t list -> OpamProcess.t * OpamProcess.result
val dry_wait_one : OpamProcess.t list -> OpamProcess.t * OpamProcess.result
val interrupt : OpamProcess.t -> unit
val is_success : OpamProcess.result -> bool
val is_failure : OpamProcess.result -> bool
val cleanup : ?force:bool -> OpamProcess.result -> unit
val read_lines : string -> string list
val string_of_result :
?color:OpamGlobals.text_style -> OpamProcess.result -> string
module Job :
sig
module Op :
sig
type 'a job =
Done of 'a
| Run of OpamProcess.command *
(OpamProcess.result -> 'a OpamProcess.Job.Op.job)
val ( @@> ) :
OpamProcess.command ->
(OpamProcess.result -> 'a OpamProcess.Job.Op.job) ->
'a OpamProcess.Job.Op.job
val ( @@+ ) :
'a OpamProcess.Job.Op.job ->
('a -> 'b OpamProcess.Job.Op.job) -> 'b OpamProcess.Job.Op.job
val ( @@| ) :
'a OpamProcess.Job.Op.job ->
('a -> 'b) -> 'b OpamProcess.Job.Op.job
end
val run : 'a OpamProcess.Job.Op.job -> 'a
val dry_run : 'a OpamProcess.Job.Op.job -> 'a
val catch :
(exn -> 'a OpamProcess.Job.Op.job) ->
'a OpamProcess.Job.Op.job -> 'a OpamProcess.Job.Op.job
val ignore_errors :
default:'a ->
?message:string ->
'a OpamProcess.Job.Op.job -> 'a OpamProcess.Job.Op.job
val finally :
(unit -> unit) ->
'a OpamProcess.Job.Op.job -> 'a OpamProcess.Job.Op.job
val of_list :
?keep_going:bool ->
OpamProcess.command list ->
(OpamProcess.command * OpamProcess.result) option
OpamProcess.Job.Op.job
val with_text :
string -> 'a OpamProcess.Job.Op.job -> 'a OpamProcess.Job.Op.job
end
type 'a job = 'a OpamProcess.Job.Op.job
end`