Module Brzo_outcome
Outcomes
Outcome steps
type 'a build_dir_suff
= B00.Memo.t -> Brzo.Conf.t -> 'a -> string B00.Memo.fiber
The type for build directory suffix determination.
build_dir_suff m c dc
is a suffix added to the build directory name. It can be used if your outcome has multiple targets (see e.g. the OCaml domain) and you would like to be able to have them live in parallel in the build dir.
type 'a artefact
= B00.Memo.t -> Brzo.Conf.t -> 'a -> build_dir:B0_std.Fpath.t -> B0_std.Fpath.t B00.Memo.fiber
The type for outcome artefact path determination.
artefact m c dc ~build_dir
is the absolute path, contained in the domain specificbuild_dir
to the outcome artefact (can be a directory).
type 'a build
= B00.Memo.t -> Brzo.Conf.t -> 'a -> build_dir:B0_std.Fpath.t -> artefact:B0_std.Fpath.t -> srcs:B0_fexts.map -> unit B00.Memo.fiber
The type for outcome artefact constructions.
build m c dc ~build_dir ~artefact ~srcs
buildsartefact
fromsrcs
usingm
.build_dir
is clean.artefact
is the result of theartefact
function.
type 'a action
= B00.Memo.t -> Brzo.Conf.t -> 'a -> build_dir:B0_std.Fpath.t -> artefact:B0_std.Fpath.t -> (unit -> (Brzo.Exit.t, string) Stdlib.result) B00.Memo.fiber
The type for outcome action.
action m c dc ~artefact
returns the action onartefact
(already tested for existence and constructed by the outcome'sartefact
function). When the function is called it is made sure that build was peformed, finished, and that it didn't error.
Outcomes
val v : name:string -> doc:string -> ?build_dir_suff:'a build_dir_suff -> artefact:'a artefact -> build:'a build -> action_has_args:bool -> action:'a action -> unit -> 'a t
v
defines an outcome. See the corresponding accessors for the semantics of arguments.build_dir_suff
defaults tofun _ _ _ k -> k ""
.
val name : 'a t -> string
name o
is the outcome name. Used in particular to define the command line option to select the outcome.
val build_dir_suff : 'a t -> 'a build_dir_suff
build_dir_suff o
iso
's build directory suffix function.
val action_has_args : 'a t -> bool
action_has_args o
istrue
iff only the outcome action supports cli args.
val pre_outcome : 'a t -> Brzo.Pre_domain.outcome
pre_outcome o
iso
as a pre-outcome.
Predefined actions
module Action : sig ... end
Predefined actions.