Brzo_outcomeOutcomes
type 'a build_dir_suff = B00.Memo.t -> Brzo.Conf.t -> 'a -> string B00_std.Fut.tThe 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:B00_std.Fpath.t -> B00_std.Fpath.t B00_std.Fut.tThe type for outcome artefact path determination. artefact m c dc
~build_dir is the absolute path, contained in the domain specific build_dir to the outcome artefact (can be a directory).
type 'a build = B00.Memo.t -> Brzo.Conf.t -> 'a -> build_dir:B00_std.Fpath.t -> artefact:B00_std.Fpath.t -> srcs:B00_fexts.map -> unit B00_std.Fut.tThe type for outcome artefact constructions. build m c dc
~build_dir ~artefact ~srcs builds artefact from srcs using m. build_dir is clean. artefact is the result of the artefact function.
type 'a action = B00.Memo.t -> Brzo.Conf.t -> 'a -> build_dir:B00_std.Fpath.t -> artefact:B00_std.Fpath.t -> (unit -> (B00_std.Os.Exit.t, string) result) B00_std.Fut.tThe type for outcome action. action m c dc ~artefact returns the action on artefact (already tested for existence and constructed by the outcome's artefact function). When the function is called it is made sure that build was peformed, finished, and that it didn't error.
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 tv defines an outcome. See the corresponding accessors for the semantics of arguments. build_dir_suff defaults to fun _ _ _ k -> k "".
val name : 'a t -> stringname 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_suffbuild_dir_suff o is o's build directory suffix function.
val action_has_args : 'a t -> boolaction_has_args o is true iff only the outcome action supports cli args.
val pre_outcome : 'a t -> Brzo.Pre_domain.outcomepre_outcome o is o as a pre-outcome.
with_outcome ~name ~doc o is o with name and doc string respectively changed to name and doc.
module Action : sig ... endPredefined actions.