`sig
val disable_main : unit -> unit
module Codec :
sig
type error = Corrupted of (string * string) | Version of int * int
val pp_error :
Stdlib.Format.formatter -> Topkg.Private.Codec.error -> unit
exception Error of Topkg.Private.Codec.error
type 'a t
val v :
kind:string ->
enc:('a -> string) -> dec:(string -> 'a) -> 'a Topkg.Private.Codec.t
val kind : 'a Topkg.Private.Codec.t -> string
val enc : 'a Topkg.Private.Codec.t -> 'a -> string
val dec : 'a Topkg.Private.Codec.t -> string -> 'a
val dec_result : 'a Topkg.Private.Codec.t -> string -> 'a Topkg.result
val with_kind :
string -> 'a Topkg.Private.Codec.t -> 'a Topkg.Private.Codec.t
val write :
Topkg.fpath -> 'a Topkg.Private.Codec.t -> 'a -> unit Topkg.result
val read : Topkg.fpath -> 'a Topkg.Private.Codec.t -> 'a Topkg.result
val unit : unit Topkg.Private.Codec.t
val const : 'a -> 'a Topkg.Private.Codec.t
val bool : bool Topkg.Private.Codec.t
val int : int Topkg.Private.Codec.t
val string : string Topkg.Private.Codec.t
val option :
'a Topkg.Private.Codec.t -> 'a option Topkg.Private.Codec.t
val result :
ok:'a Topkg.Private.Codec.t ->
error:'b Topkg.Private.Codec.t ->
('a, 'b) Topkg.r Topkg.Private.Codec.t
val list : 'a Topkg.Private.Codec.t -> 'a list Topkg.Private.Codec.t
val pair :
'a Topkg.Private.Codec.t ->
'b Topkg.Private.Codec.t -> ('a * 'b) Topkg.Private.Codec.t
val t3 :
'a Topkg.Private.Codec.t ->
'b Topkg.Private.Codec.t ->
'c Topkg.Private.Codec.t -> ('a * 'b * 'c) Topkg.Private.Codec.t
val t4 :
'a Topkg.Private.Codec.t ->
'b Topkg.Private.Codec.t ->
'c Topkg.Private.Codec.t ->
'd Topkg.Private.Codec.t -> ('a * 'b * 'c * 'd) Topkg.Private.Codec.t
val t5 :
'a Topkg.Private.Codec.t ->
'b Topkg.Private.Codec.t ->
'c Topkg.Private.Codec.t ->
'd Topkg.Private.Codec.t ->
'e Topkg.Private.Codec.t ->
('a * 'b * 'c * 'd * 'e) Topkg.Private.Codec.t
val alt :
kind:string ->
('a -> int) ->
'a Topkg.Private.Codec.t array -> 'a Topkg.Private.Codec.t
val version :
int -> 'a Topkg.Private.Codec.t -> 'a Topkg.Private.Codec.t
val view :
?kind:string ->
('a -> 'b) * ('b -> 'a) ->
'b Topkg.Private.Codec.t -> 'a Topkg.Private.Codec.t
val msg : [ `Msg of string ] Topkg.Private.Codec.t
val result_error_msg :
'a Topkg.Private.Codec.t -> 'a Topkg.result Topkg.Private.Codec.t
val fpath : Topkg.Fpath.t Topkg.Private.Codec.t
val cmd : Topkg.Cmd.t Topkg.Private.Codec.t
end
module Pkg :
sig
type t
val empty : Topkg.Private.Pkg.t
val name : Topkg.Private.Pkg.t -> string
val delegate : Topkg.Private.Pkg.t -> Topkg.Cmd.t option
val build_dir : Topkg.Private.Pkg.t -> Topkg.fpath
val readmes : Topkg.Private.Pkg.t -> Topkg.fpath list
val change_logs : Topkg.Private.Pkg.t -> Topkg.fpath list
val licenses : Topkg.Private.Pkg.t -> Topkg.fpath list
val opam : name:string -> Topkg.Private.Pkg.t -> Topkg.fpath
val distrib_uri : Topkg.Private.Pkg.t -> string option
val publish_artefacts :
Topkg.Private.Pkg.t -> [ `Alt of string | `Distrib | `Doc ] list
val lint_custom :
Topkg.Private.Pkg.t -> (unit -> Topkg.R.msg Topkg.result list) option
val lint_files : Topkg.Private.Pkg.t -> Topkg.fpath list option
val lint_metas : Topkg.Private.Pkg.t -> (Topkg.fpath * bool) list
val lint_opams :
Topkg.Private.Pkg.t -> (Topkg.fpath * bool * string list option) list
val codec : Topkg.Private.Pkg.t Topkg.Private.Codec.t
end
module Ipc :
sig
type 'a t
val cmd : 'a Topkg.Private.Ipc.t -> Topkg.Cmd.t
val codec : 'a Topkg.Private.Ipc.t -> 'a Topkg.Private.Codec.t
val answer : 'a Topkg.Private.Ipc.t -> Topkg.fpath
val pkg : unit -> Topkg.Private.Pkg.t Topkg.Private.Ipc.t
val lint_custom :
unit -> Topkg.R.msg Topkg.result list option Topkg.Private.Ipc.t
val distrib_prepare :
dist_build_dir:Topkg.fpath ->
name:string ->
version:string ->
opam:Topkg.fpath ->
opam_adds:string -> Topkg.fpath list Topkg.result Topkg.Private.Ipc.t
end
module Opam :
sig
module File :
sig
type t = (string * string list) list
val codec : Topkg.Private.Opam.File.t Topkg.Private.Codec.t
val fields :
Topkg.fpath -> (string * string list) list Topkg.result
end
end
end`