Module Opam.File

opam package file access.

Normally opam metadata access is only needed at distribution time and this is handled by Topkg_care.Opam.File using the opam-format library.

However there is one case where we want to be able to access the metadata from Topkg: on pin builds where the watermarking process needs to be run to turn the repo into a pseudo-distribution.

Since we don't want Topkg to have any dependency and that opam currently doesn't allow to consult the fields of arbitrary opam files (see issue #2446) we assume a pin build has the topkg tool installed and call to it to get the opam fields for watermarking (if topkg is unavailable the watermarks are simply undefined).

opam file

type t = (string * string list) list

The type for a simplified model the fields of an opam file. See Topkg_care.Opam.File.

val codec : t Codec.t

codec is a codec for opam file fields.

val fields : fpath -> (string * string list) list result

fields file are the fields of the opam file file which are obtained by calling the topkg topkg executable.