package obuilder-spec

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type copy = {
  1. from : [ `Context | `Build of string ];
  2. src : string list;
  3. dst : string;
  4. exclude : string list;
}
val sexp_of_copy : copy -> Sexplib0.Sexp.t
val copy_of_sexp : Sexplib0.Sexp.t -> copy
type unix_user = {
  1. uid : int;
  2. gid : int;
}
val sexp_of_unix_user : unix_user -> Sexplib0.Sexp.t
val unix_user_of_sexp : Sexplib0.Sexp.t -> unix_user
type windows_user = {
  1. name : string;
}
val sexp_of_windows_user : windows_user -> Sexplib0.Sexp.t
val windows_user_of_sexp : Sexplib0.Sexp.t -> windows_user
type user = [
  1. | `Unix of unix_user
  2. | `Windows of windows_user
]
val sexp_of_user : user -> Sexplib0.Sexp.t
val user_of_sexp : Sexplib0.Sexp.t -> user
val __user_of_sexp__ : Sexplib0.Sexp.t -> user
type run = {
  1. cache : Cache.t list;
  2. network : string list;
  3. secrets : Secret.t list;
  4. shell : string;
}
val sexp_of_run : run -> Sexplib0.Sexp.t
val run_of_sexp : Sexplib0.Sexp.t -> run
type op = [
  1. | `Comment of string
  2. | `Workdir of string
  3. | `Shell of string list
  4. | `Run of run
  5. | `Copy of copy
  6. | `User of user
  7. | `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 {
  1. child_builds : (string * t) list;
  2. from : string;
  3. 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 -> ?secrets:Secret.t 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_unix : uid:int -> gid:int -> op
val user_windows : name:string -> op
val root_unix : [ `Unix of unix_user ]
val root_windows : [ `Windows of windows_user ]
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.

val pp_op : op Fmt.t

pp_op formats op as an S-expression.

module Cache : sig ... end
module Secret : sig ... end
module Docker : sig ... end
OCaml

Innovation. Community. Security.