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 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.Fpath.Meta_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.
val ops_to_json : t -> Op.t list -> string
ops_to_json o ops outputs JSON text in Trace Event Format.

TODO This should be moved somewhere else so that we can get rid of B0.Json in the core library.

Run statistics

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