Information about the final application.

type t

The type for information about the final application.

val config_file : t -> Fpath.t

config_file t is the configuration file of the application.

val name : t -> string

name t is the name of the application.

val main : t -> Fpath.t

main t is the name of the main application file.

val output : t -> string option

output t is the name of t's output. Derived from name if not set.

val with_output : t -> string -> t

with_output t o is similar to t but with the output set to Some o.

val libraries : t -> string list

libraries t are the direct OCamlfind dependencies.

val packages : t -> Package.t list

packages t are the opam package dependencies by the project.

val opam : t -> extra_repo:(string * string) list -> install:Install.t -> opam_name:string -> Opam.t

opam scope t is t'opam file to install in the scope context.

val keys : t -> Key.t list

keys t are the keys declared by the project.

val context : t -> Key.context

parsed t is a value representing the command-line argument being parsed.

val get : t -> 'a Key.key -> 'a

get i k is the value associated with k in context i.

val v : ?config_file:Fpath.t -> packages:Package.t list -> keys:Key.t list -> context:Key.context -> ?configure_cmd:string -> ?pre_build_cmd:(Fpath.t option -> string) -> ?lock_location:(Fpath.t option -> string -> string) -> build_cmd:string -> src:[ `Auto | `None | `Some of string ] -> string -> t

create context n r contains information about the application being built.

val pp : bool -> t Fmt.t


val t : t Type.t