Dep.t
is the central type of jenga's API, supporting both the description of
dependencies and computing dependencies with arbitrary dependencies.
See documentation for individual items in api.mli.
include module type of Jenga_lib.Dep_type
Dep_type.t
is the GADT implementation behind Dep.t
. Values of this type are
interpreted by jenga's build algorithm.
type 'a t
=
| Return : 'a ‑> 'a t | ||||
| Map : 'a t * ('a ‑> 'b) ‑> 'b t | ||||
| Bind : 'a t * ('a ‑> 'b t) ‑> 'b t | ||||
| All : 'a Core.sexp_opaque t list ‑> 'a list t | ||||
| Cutoff : ('a ‑> 'a ‑> bool) * 'a t ‑> 'a t | ||||
| Deferred : (unit ‑> 'a Async.Deferred.t) ‑> 'a t | ||||
| Action_stdout : Jenga_lib.Action.t t ‑> string t | ||||
| Alias : Jenga_lib.Alias.t ‑> unit t | ||||
| Path : Jenga_lib.Path.t ‑> unit t | ||||
| Group_dependencies : 'a t ‑> 'a t | ||||
| Source_if_it_exists : Jenga_lib.Path.t ‑> unit t | ||||
| Contents : Jenga_lib.Path.t ‑> string t | ||||
| Reflect_path : Jenga_lib.Path.t ‑> Jenga_lib.Reflected.Trip.t option t | ||||
| Reflect_alias : Jenga_lib.Alias.t ‑> Jenga_lib.Path.Set.t t | ||||
| Reflect_putenv : (string * string option) list t | ||||
| Buildable_targets : Jenga_lib.Path.t ‑> Jenga_lib.Path.Set.t t | ||||
| Source_files : Jenga_lib.Path.t ‑> Jenga_lib.Path.Set.t t | ||||
| Glob_listing_OLD : Jenga_lib.Fs.Glob.t ‑> Jenga_lib.Path.Set.t t | ||||
| Glob_listing : Jenga_lib.Fs.Glob.t ‑> Jenga_lib.Path.Set.t t | ||||
| Glob_change_OLD : Jenga_lib.Fs.Glob.t ‑> unit t | ||||
| Glob_change : Jenga_lib.Fs.Glob.t ‑> unit t | ||||
| Var : 'a Jenga_lib.Var.t ‑> 'a t | ||||
| Memoize : {
} ‑> 'a t |
val sexp_of_t : a. ('a ‑> Base.Sexp.t) ‑> 'a t ‑> Base.Sexp.t
val return : 'a ‑> 'a t
val deferred : (unit ‑> 'a Async.Deferred.t) ‑> 'a t
val action : Jenga_lib.Action.t t ‑> unit t
val action_stdout : Jenga_lib.Action.t t ‑> string t
val alias : Jenga_lib.Alias.t ‑> unit t
val path : Jenga_lib.Path.t ‑> unit t
val getenv : 'a Jenga_lib.Var.t ‑> 'a t
val source_if_it_exists : Jenga_lib.Path.t ‑> unit t
val contents : Jenga_lib.Path.t ‑> string t
val contents_cutoff : Jenga_lib.Path.t ‑> string t
val fs_glob_listing : Jenga_lib.Fs.Glob.t ‑> Jenga_lib.Path.t list t
val fs_glob_change : Jenga_lib.Fs.Glob.t ‑> unit t
val subdirs : dir:Jenga_lib.Path.t ‑> Jenga_lib.Path.t list t
val file_exists : Jenga_lib.Path.t ‑> bool t
val file_existence : Jenga_lib.Path.t ‑> unit t
val buildable_targets : dir:Jenga_lib.Path.t ‑> Jenga_lib.Path.t list t
val source_files : dir:Jenga_lib.Path.t ‑> Jenga_lib.Path.t list t
val glob_listing : Jenga_lib.Fs.Glob.t ‑> Jenga_lib.Path.t list t
val glob_change : Jenga_lib.Fs.Glob.t ‑> unit t
module List : sig ... end