Module Private.Pkg

Package description.

type t

The type for package descriptions.

val empty : t

empty is an empty package description.

val name : t -> string

name p is p's name.

val delegate : t -> Cmd.t option

delegate pis p's delegate.

val build_dir : t -> fpath

build_dir p is p's build directory.

val readmes : t -> fpath list

readme p is p's readme files.

val change_logs : t -> fpath list

change_logs p is p's change logs.

val licenses : t -> fpath list

licenses p is p's license files.

val opam : name:string -> t -> fpath

opam name p is p's opam file for opam package name.

Distrib

val distrib_uri : t -> string option

distrib_uri p is p's distribution location URI pattern. See distrib.

Publish

val publish_artefacts : t -> [ `Distrib | `Doc | `Alt of string ] list

publish_artefacts p is p's distribution publication artefacts. See publish.

Lints

Note. In the following None values mean that the lint is disabled by the package description.

val lint_custom : t -> (unit -> R.msg result list) option

lint_custom p is p's custom linting function (if any).

Note. Use Ipc.lint_custom to run the function from another program.

val lint_files : t -> fpath list option

lint_files p are p's files to check for existence.

val lint_metas : t -> (fpath * bool) list

lint_metas p are p's META file to OCamlfind lint.

val lint_opams : t -> (fpath * bool * string list option) list

lint_opams p are p's opam file opam lint and dependency lint.

Codec

val codec : t Codec.t

codec is a codec for package descriptions.