B0_metaMetadata.
Typed key-value dictionaries. Values of this type are used with various B0 definitions to specify metadata.
The module defines a few standard keys. The recommended way of formatting constant dictionaries is:
let meta =
  let open B0_meta in (* This can be omitted *)
  empty
  |> add authors ["The project programmers"]
  |> add homepage "https://example.org"
  |> tag B0_opam.Meta.tagXXX. They used to be serializable, see if we don't want that again.
module Key : sig ... endMetadata keys
val pp_binding : binding B00_std.Fmt.tpp_binding formats a binding using B00_std.Fmt.field and the key's value print function.
val empty : tempty is the empty metadata.
val is_empty : t -> boolis_empty m is true iff m is empty.
add_if_some k o m is m if o is None and m with k bound to v if o is Some v.
find_binding k m is the binding for k in m (if any).
find_binding_by_name n m is the binding named n in m (if any).
get k m is the binding of k in m. Raises Invalid_argument if there is no such binding.
find_binding k m is the binding for k in m. Raises Invalid_argument if there is no such binding.
get_binding_by_name n m is the binding named n in m. Raises Invalid_argument if there is no such binding.
fold f m acc folds f over the bindings of m starting with acc.
val pp : t B00_std.Fmt.tpp formats metadata using pp_bindings.
val pp_non_empty : t B00_std.Fmt.tpp_non_empty is Fmt.cut followed by pp if metadata is non empty and Fmt.nop otherwise.
val authors : string list keyauthors describes a list of persons with authorship.
val description_tags : string list keydescription_tags describes a list of classification tags used for documentation.
val description : string keydescription is a long description for the entity.
val homepage : string keyissues is an URI to an issue tracker.
val issues : string keyissues is an URI to an issue tracker.
val licenses : string list keylicenses describes a list of licenses. Each license should be a SPDX license identifier.
val maintainers : string list keymaintainers describe a list of persons with maintainership.
val online_doc : string keyonline_doc is an URI to online documentation.
val repo : string keyrepo is an URI to a VCS system.
val synopsis : string keysynopsis is a one line synopsis for an entity.
val bench : unit keybench tags benchmarking entities.
val build : unit keybuild tags build system entities.
val dev : unit keydev tags development entities.
val doc : unit keydoc tags documentation entities.
val exe : unit keyexe tags executable entities.
val test : unit keytest tags testing entities.
val lib : unit keylib tags library entities.
val exe_name : string keyexe_name is an executable name without the platform specific executable extension. FIXME rename that to tool.
val exe_file : B00_std.Fpath.t B00_std.Fut.t keyexe_file is an absolute file path to an executable build by the unit.