Industrial strength, full-featured build system
module Dot_jenga : sig ... end

Files created in the .jenga sub-directory.

val jenga_root : Path.Rel.t

User provided files, found at the top level of the repository.

val jenga_conf : Path.Rel.t
val discover_root : ?start_dir:string -> unit -> Path.Abs.t Core.Or_error.t

To be used with Path.Repo.set_root to initialize the repo-root-dependent parts of Path module (see discover_and_set_root). Can't be async because we need to call it before initializing Async.Parallel.

val discover_and_set_root : ?start_dir:string -> unit -> unit Core.Or_error.t
val find_ancestor_directory_containing : ?start_dir:string -> one_of:Path.Rel.t list -> Path.Abs.t Core.Or_error.t

Look for the closest ancestor directory containing one of the given files.

val when_did_build_finish_most_recently : root_dir:Path.Abs.t -> Core.Time.t option Async.Deferred.t