Module B0.Outcome

module Outcome: sig .. end
Build outcomes.

A build outcome holds information about a finished build. In particular remembers all the build operation and their metadata.

TODO This should be revamped a bit.


type t 
The type for build outcomes.
val of_build : ?prev:t -> -> t
of_build ?prev b is the build outcome of b, prev if specified indicates a previous build outcome.
Raises Invalid_argument if b is not finished.
val read : B0.Fpath.t -> t B0.result
read file reads a build outcome from file.
val write : B0.Fpath.t -> t -> unit B0.result
write file o writes the build outcome o to file file.
val fpath_meta : t -> B0.Meta.Fpath.Map.t
fpath_meta o is the file metadata for the build.
val conf : t -> B0.Conf.t
conf o is the effective configuration used by the build.
val unit_names : t -> string list
unit_names o are the names of the units that were built.
val unit_id_name_map : t -> string B0.Unit.Idmap.t
unit_id_name_map o maps identifiers of units built in o to their name.
val unit_id_set : string list -> t -> B0.Unit.Idset.t
unit_id_set names o is the set of unit identifers that matches names in o.
val root_files : t -> B0.Fpath.set
root_file o is the set of root files in o.
val built_files : t -> B0.Fpath.set
built_files o is the of files that are written in o.

Build operations

module Op: sig .. end
Build operations
val ops : t -> Op.t list
ops o are the build's operations.

Build statistics

val pp_stats : t B0.Fmt.t
pp_stats ppf o prints o's statistics on ppf.