B0_memo_cli.OpB0_zero.Op interaction.
val find_needs :
?acc:B0_zero.Op.Set.t ->
recursive:bool ->
writes:B0_zero.Op.Set.t B0_std.Fpath.Map.t ->
B0_zero.Op.Set.t ->
B0_zero.Op.Set.tfind_needs ~recursive ~writes ~acc ops add to acc (defaults to B0_zero.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:B0_zero.Op.Set.t ->
recursive:bool ->
reads:B0_zero.Op.Set.t B0_std.Fpath.Map.t ->
B0_zero.Op.Set.t ->
B0_zero.Op.Set.tfind_enables ~recursive ~writes ~acc ops add to acc (defaults to B0_zero.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.
type query = B0_zero.Op.t list -> B0_zero.Op.t listThe type for build operation queries. This is not simply predicate because of dependency selection.
val select :
reads:B0_std.Fpath.t list ->
writes:B0_std.Fpath.t list ->
ids:B0_zero.Op.id list ->
hashes:B0_hash.t list ->
marks:string list ->
B0_zero.Op.t ->
boolselect ~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:B0_zero.Op.t list ->
B0_zero.Op.t list ->
B0_zero.Op.t listselect_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:[ `Executed | `Revived | `Unrevived ] option ->
statuses:[ `Aborted | `Success | `Failed | `Waiting ] list ->
kinds:
[ `Copy
| `Delete
| `Mkdir
| `Notify
| `Read
| `Spawn
| `Wait_files
| `Write ]
list ->
B0_zero.Op.t ->
boolfilter ~revived ~statuses ~kinds is an operation filter for the given filters.
val order :
by:[ `Create | `Dur | `Wait | `Start ] ->
B0_zero.Op.t list ->
B0_zero.Op.t listorder ~by ops orders ops by by time.
val query :
select:(B0_zero.Op.t -> bool) ->
select_deps:(dom:B0_zero.Op.t list -> B0_zero.Op.t list -> B0_zero.Op.t list) ->
filter:(B0_zero.Op.t -> bool) ->
order:(B0_zero.Op.t list -> B0_zero.Op.t list) ->
queryquery ~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.
val select_cli :
?docs:string ->
?marks:string list Cmdliner.Term.t ->
unit ->
(B0_zero.Op.t -> bool) Cmdliner.Term.tval select_deps_cli :
?docs:string ->
unit ->
(dom:B0_zero.Op.t list ->
B0_zero.Op.t list ->
B0_zero.Op.t list)
Cmdliner.Term.tval filter_cli : ?docs:string -> unit -> (B0_zero.Op.t -> bool) Cmdliner.Term.tval order_cli :
?docs:string ->
unit ->
(B0_zero.Op.t list -> B0_zero.Op.t list) Cmdliner.Term.tval query_cli : ?docs:string -> unit -> query Cmdliner.Term.tquery_cli ~docs () is a command line interface to select build operations. docs is where the option are documented, defaults to Cmdliner.Manpage.s_options
s_selection_options is a section name for build operation selection options.
query_man is a manual fragment for query_cli.