package b0
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha512=e9aa779e66c08fc763019f16d4706f465d16c05d6400b58fbd0313317ef33ddea51952e2b058db28e65f7ddb7012f328c8bf02d8f1da17bb543348541a2587f0
doc/b0.memo/B0_memo_cli/Op/index.html
Module B0_memo_cli.Op
Source
B0_zero.Op
interaction.
Finding dependencies
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.t
find_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.t
find_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.
Operation query
The 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 ->
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:B0_zero.Op.t list ->
B0_zero.Op.t list ->
B0_zero.Op.t list
select_deps ~needs ~enables ~recusrive ~dom ops
select the operation needs
and/or enables
of ops
recursive
ly 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 ->
bool
filter ~revived ~statuses ~kinds
is an operation filter for the given filters.
order ~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) ->
query
query ~select ~select_deps ~filer ~order
is an operation query that select
s 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 ->
(B0_zero.Op.t -> bool) Cmdliner.Term.t
val select_deps_cli :
?docs:string ->
unit ->
(dom:B0_zero.Op.t list ->
B0_zero.Op.t list ->
B0_zero.Op.t list)
Cmdliner.Term.t
val order_cli :
?docs:string ->
unit ->
(B0_zero.Op.t list -> B0_zero.Op.t list) Cmdliner.Term.t
query_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
.