obuilder-spec
Obuilder_spec
type copy = {
from : [ `Context | `Build of string ];
src : string list;
dst : string;
exclude : string list;
}
val sexp_of_copy : copy -> Sexplib0.Sexp.t
val copy_of_sexp : Sexplib0.Sexp.t -> copy
type user = {
uid : int;
gid : int;
val sexp_of_user : user -> Sexplib0.Sexp.t
val user_of_sexp : Sexplib0.Sexp.t -> user
type run = {
cache : Cache.t list;
network : string list;
shell : string;
val sexp_of_run : run -> Sexplib0.Sexp.t
val run_of_sexp : Sexplib0.Sexp.t -> run
type op = [
| `Comment of string
| `Workdir of string
| `Shell of string list
| `Run of run
| `Copy of copy
| `User of user
| `Env of string * string
]
val sexp_of_op : op -> Sexplib0.Sexp.t
val op_of_sexp : Sexplib0.Sexp.t -> op
val __op_of_sexp__ : Sexplib0.Sexp.t -> op
type t = private {
child_builds : (string * t) list;
from : string;
ops : op list;
include Sexplib0.Sexpable.S with type t := t
val t_of_sexp : Sexplib0.Sexp.t -> t
val sexp_of_t : t -> Sexplib0.Sexp.t
val stage : ?child_builds:(string * t) list -> from:string -> op list -> t
val comment : ('a, unit, string, op) format4 -> 'a
val workdir : string -> op
val shell : string list -> op
val run : ?cache:Cache.t list -> ?network:string list -> ('a, unit, string, op) format4 -> 'a
val copy : ?from:[ `Context | `Build of string ] -> ?exclude:string list -> string list -> dst:string -> op
val env : string -> string -> op
val user : uid:int -> gid:int -> op
val root : user
val pp : t Fmt.t
pp f s is similar to Sexplib.Sexp.pp_hum f (sexp_of_t s), but attempts to improve the layout slightly by putting each operation on its own line.
pp f s
Sexplib.Sexp.pp_hum f (sexp_of_t s)
val pp_op : op Fmt.t
pp_op formats op as an S-expression.
pp_op
op
module Cache : sig ... end
module Docker : sig ... end