package topkg

  1. Overview
  2. Docs

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-lib 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.

OCaml

Innovation. Community. Security.