Module Private.Ipc

Topkg interprocess communication.

Interprocess communication

type 'a t

The type for interpocess communication transfering values of type 'a.

val cmd : 'a t -> Cmd.t

cmd ipc are the command line arguments provided to the child process.

val codec : 'a t -> 'a Codec.t

codec ipc is the codec used to transfer the value.

val answer : 'a t -> fpath

answer ipc is the file path from which the value can be decoded from.

Requests

val pkg : unit -> Pkg.t t

pkg () is an IPC to get the package description.

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

lint_custom () is an IPC to run the custom linting.

val distrib_prepare : dist_build_dir:fpath -> name:string -> version:string -> opam:fpath -> opam_adds:string -> fpath list result t

distrib_prepare dist_build_dir name version opam is an IPC to prepare a distribution in directory dist_build_dir. This sets the cwd to dist_build_dir, performs the distribution watermarking process with name used for `Name, version used for `Version and opam as the default file for opam watermarks. It then performs distribution massaging and returns the file paths to exclude from the distribution archive.