package opam-lib

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Higher-level interface to allow parallelism

module Op : sig ... end

Open type and add combinators. Meant to be opened

val run : 'a Op.job -> 'a

Sequential run of a job

val dry_run : 'a Op.job -> 'a

Same as run but doesn't actually run any shell command, and feed a dummy result to the cont.

val catch : (exn -> 'a Op.job) -> 'a Op.job -> 'a Op.job

Catch exceptions raised within a job

val ignore_errors : default:'a -> ?message:string -> 'a Op.job -> 'a Op.job

Ignore all non-fatal exceptions raised by job and return default

val finally : (unit -> unit) -> 'a Op.job -> 'a Op.job

Register an exception-safe finaliser in a job. finally job fin is equivalent to catch job (fun e -> fin (); raise e) @@+ fun r -> fin (); Done r

val of_list : ?keep_going:bool -> command list -> (command * result) option Op.job

Converts a list of commands into a job that returns None on success, or the first failed command and its result. Unless keep_going is true, stops on first error.

val with_text : string -> 'a Op.job -> 'a Op.job

Sets and overrides text of the underlying commands