B0_packBuild packs.
A build pack gathers a set of build units and attaches metadata to it.
The type for b0 units. See B0_unit.t.
make 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.
val find_default : unit -> t optionfind_default () is a default pack.
FIXME This is likely not a good idea. There's no context to override the default.
derive_synopsis_and_description p m if B0_meta.synopsis or B0_meta.description are undefined in m it tries to fill them in from an existing README.md in the scope directory of p. The first marked up section of the file is extracted using B0_adhoc.commonmark_first_section its title is parsed according to the pattern '$(NAME) $(SEP) $(SYNOPSIS)' to get a synopsis line and the body up to the next (sub)section defines the description.
XXX. See if we couldn't define that as a default key value in the future. Though we'd need the def for getting the directory.
include B0_def.S with type t := tval define : ?doc:string -> ?meta:B0_meta.t -> string -> B0_def.defval def : t -> B0_def.defval name : t -> stringval basename : t -> stringval doc : t -> stringval mem_meta : 'a B0_meta.key -> t -> boolval has_tag : bool B0_meta.key -> t -> boolval find_meta : 'a B0_meta.key -> t -> 'a optionval find_or_default_meta : 'a B0_meta.key -> t -> 'aval get_meta : 'a B0_meta.key -> t -> ('a, string) Stdlib.resultval add : t -> unitval fold : (t -> 'a -> 'a) -> 'a -> 'aval list : unit -> t listval find : string -> t optionval get : string -> tval get_or_hint : string -> (t, string) Stdlib.resultval get_list_or_hint :
all_if_empty:bool ->
string list ->
(t list, string) Stdlib.resultval scope_path : t -> string listval in_root_scope : t -> boolval in_current_scope : t -> boolval scope_dir : t -> B0_std.Fpath.t optionval scope_dir' : t -> (B0_std.Fpath.t, string) Stdlib.resultval in_scope_dir : t -> B0_std.Fpath.t -> B0_std.Fpath.t optionval in_scope_dir' :
t ->
B0_std.Fpath.t ->
(B0_std.Fpath.t, string) Stdlib.resultval pp_name_str : string B0_std.Fmt.tval pp_name : t B0_std.Fmt.tval pp_doc : t B0_std.Fmt.tval pp_synopsis : t B0_std.Fmt.tval pp : t B0_std.Fmt.tmodule Set : sig ... endmodule Map : sig ... end