package b0

  1. Overview
  2. Docs
Software construction and deployment kit

Install

Dune Dependency

Authors

Maintainers

Sources

b0-0.0.4.tbz
sha512=665735c8b7a8674201be765bdd676a18d1e38eff35de9d44c3dc15e2bfed2247e8963c9a32ae62d9ca2d6cd1edebd849aac29fdd5a846c14a30feea3edfc0601

doc/b0.b00/B000/Guard/index.html

Module B000.Guard

Build operation guards.

A guard ensure that a build operation is allowed to proceed. This means either that:

  • It is ready and can be submitted for execution. This happens once all the files the operation reads are ready: they exist and are up-to-date.
  • It is aborted. This happens if a file it needs to read never becomes ready.

Note. This module does not access the file system it trusts clients that call Guard.set_file_ready not to lie about its existence on the file system.

Guards

type t

The type for build operations guards.

val create : unit -> t

create () is a new guard.

val set_file_ready : t -> B00_std.Fpath.t -> unit

set_file_ready g f indicates to g that file f is ready, i.e. that it exists and is up-to-date.

val set_file_never : t -> B00_std.Fpath.t -> unit

set_file_never g f indicate to g that file f will never become ready.

val add : t -> Op.t -> unit

add g o guards o in g until it is allowed.

val allowed : t -> Op.t option

allowed g is an operation that is either ready or aborted in g (if any). In the second case the Op.status is Op.status.Aborted.

OCaml

Innovation. Community. Security.