Module Topkg.Private.Ipc

module Ipc: sig .. end

Topkg interprocess communication.


Interprocess communication

type 'a t 

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

val cmd : 'a t -> Topkg.Cmd.t

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

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

codec ipc is the codec used to transfer the value.

val answer : 'a t -> Topkg.fpath

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

Requests

val pkg : unit -> Topkg.Private.Pkg.t t

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

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

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

val distrib_prepare : dist_build_dir:Topkg.fpath ->
name:string ->
version:string ->
opam:Topkg.fpath ->
opam_adds:string -> Topkg.fpath list Topkg.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.