B0_packBuild packs.
A build pack gathers a set of build units and attaches metadata to it.
v n us is a build pack named n made of build units us and described by doc. locked defaults to false, see locked for the semantics.
val locked : t -> boollocked is true if the pack when used in a build mandates a locked build.
include B0_def.S with type t := tval define : ?doc:string -> ?meta:B0_meta.t -> string -> B0_def.defdefine ~doc ~meta n defines name n in the current scope with documentation string doc (defaults to "undocumented")e and metadata meta (defaults to B0_meta.empty). Defining a duplicate value in a scope raises Duplicate.
val def : t -> B0_def.defdef v is the definition of value v.
val name : t -> stringname v is v's name.
val basename : t -> stringbasename v is v's name without the scope.
val doc : t -> stringdoc v is v's documentation string.
val has_meta : 'a B0_meta.key -> t -> boolhas_meta k u is B0_meta.mem k (B0_unit.meta u).
val find_meta : 'a B0_meta.key -> t -> 'a optionfind_meta k u is B0_meta.find k (B0_unit.meta u).
val get_meta : 'a B0_meta.key -> t -> ('a, string) resultget_meta m k u is Ok v if find_meta k u is Some v and a final user friendly error message if None.
val add : t -> unitadd v adds the value v to the list of defined values.
val list : unit -> t listlist () is the list of units.
val find : string -> t optionfind n is the value named n (if any).
val get : string -> tget n looks up the value named n and errors the B0 file if there no such n.
get_or_suggest n is the value named n or a (possibly empty) list of suggested values whose name could match n.
get_or_hint n is the value named n or an error message that indicates that n could not be found with suggested names.
get_list_or_hint ns are the value named ns or an error that indicates the names that could not be found with suggested names. If empty_means_all is true (defaults to false) an empty ns returns list () sorted by name.
val pp_name_str : string B00_std.Fmt.tpp_name_str v pretty prints value names.
val pp_name : t B00_std.Fmt.tpp_name v formats v's name.
val pp_doc : t B00_std.Fmt.tpp_doc formats v's doc string.
val pp_synopsis : t B00_std.Fmt.tpp_synopsis formats v's name and its doc string.
val pp : t B00_std.Fmt.tpp formats v 's name, its doc string and its metadata dictionary.