package b0

  1. Overview
  2. Docs
Software construction and deployment kit

Install

Dune Dependency

Authors

Maintainers

Sources

b0-0.0.1.tbz
sha256=dba2fc571f39f3b8e87ee55c77bdec7ec6a5ddc7d99b8b20aeda848af546be04
md5=51ee1d66acc4d7f87bdceac1341b7711

doc/b00_kit/B00_ui/Op/index.html

Module B00_ui.Op

B000.Op interaction.

Finding dependencies

val find_needs : ?acc:B000.Op.Set.t -> recursive:bool -> writes:B000.Op.Set.t B00_std.Fpath.Map.t -> B000.Op.Set.t -> B000.Op.Set.t

find_needs ~recursive ~writes ~acc ops add to acc (defaults to B00.Op.Set.empty) the set of operations in the write index writes that need to be executed for the set of operations ops to be able to proceed. If recursive is false only direct dependencies are reported.

val find_enables : ?acc:B000.Op.Set.t -> recursive:bool -> reads:B000.Op.Set.t B00_std.Fpath.Map.t -> B000.Op.Set.t -> B000.Op.Set.t

find_enables ~recursive ~writes ~acc ops add to acc (defaults to B00.Op.Set.empty) the set of operations in the read index reads that are enabled by the set of operations ops. If recursive is false only direct dependencies are reported.

Operation query

type query = B000.Op.t list -> B000.Op.t list

The type for build operation queries. This is not simply predicate because of dependency selection.

val select : reads:B00_std.Fpath.t list -> writes:B00_std.Fpath.t list -> ids:B000.Op.id list -> hashes:B00_std.Hash.t list -> marks:string list -> B000.Op.t -> bool

select ~reads ~writes ~ids ~hashes ~marks o is true iff o reads a file in reads or writes a file in writes or has its id in ids, or has its hash in hashes or has its mark in marks or if all these selector lists are empty.

val select_deps : needs:bool -> enables:bool -> recursive:bool -> dom:B000.Op.t list -> B000.Op.t list -> B000.Op.t list

select_deps ~needs ~enables ~recusrive ~dom ops select the operation needs and/or enables of ops recursively in dom. This is ops if both needs and enables are false.

val filter : revived:bool option -> statuses:[ `Aborted | `Done | `Failed | `Waiting ] list -> kinds: [ `Copy | `Delete | `Mkdir | `Notify | `Read | `Spawn | `Wait_files | `Write ] list -> B000.Op.t -> bool

filter ~revived ~statuses ~kinds is an operation filter for the given filters.

val order : by:[ `Create | `Dur | `Wait | `Start ] -> B000.Op.t list -> B000.Op.t list

order ~by ops orders ops by by time.

val query : select:(B000.Op.t -> bool) -> select_deps:(dom:B000.Op.t list -> B000.Op.t list -> B000.Op.t list) -> filter:(B000.Op.t -> bool) -> order:(B000.Op.t list -> B000.Op.t list) -> query

query ~select ~select_deps ~filer ~order is an operation query that selects operations, their dependencies (or not) according to select_deps, filters the result with filter and orders them by order.

Command line interface

val marks : ?opts:string list -> ?docs:string -> ?doc:string -> ?docv:string -> unit -> string list Cmdliner.Term.t
val select_cli : ?docs:string -> ?marks:string list Cmdliner.Term.t -> unit -> (B000.Op.t -> bool) Cmdliner.Term.t
val select_deps_cli : ?docs:string -> unit -> (dom:B000.Op.t list -> B000.Op.t list -> B000.Op.t list) Cmdliner.Term.t
val filter_cli : ?docs:string -> unit -> (B000.Op.t -> bool) Cmdliner.Term.t
val order_cli : ?docs:string -> unit -> (B000.Op.t list -> B000.Op.t list) Cmdliner.Term.t
val query_cli : ?docs:string -> unit -> query Cmdliner.Term.t
val query_man : Cmdliner.Manpage.block list
OCaml

Innovation. Community. Security.