jenga

Industrial strength, full-featured build system
IN THIS PACKAGE
Module Jenga_lib . Db . Proxy_map
type t
val hash_fold_t : Base.Hash.state -> t -> Base.Hash.state
val hash : t -> Base.Hash.hash_value
val compare : t -> t -> int
val empty : t
val single : Pm_key.t -> Proxy.t -> t
val group : t -> t
val of_alist : (Pm_key.t * Proxy.t) list -> ( t, (Pm_key.t * Proxy.t list) list ) Core.Result.t
val equal_or_witness : t -> t -> ( unit, Pm_key.t list ) Core.Result.t
val merge : t list -> ( t, (Pm_key.t * Proxy.t list) list ) Core.Result.t

Error means the proxy map is inconsistent. However, some inconsistent proxy maps are Ok.

val shallow_length : t -> int

The size of the dependencies, excluding the shared parts. Used to build profiling information.

val filesystem_assumptions : t -> [> `Dirs of Path.Rel.Hash_set.t ] * [> `Files of Path.Rel.Hash_set.t ] * [> `Arbitrary_files of Path.Rel.Hash_set.t ]

filesystem_assumptions t returns the set of things accessed via a relative path on the filesystem that have been used to construct t. `Dirs is the list of directories that must exist to reproduce t. `Files is the list of files that need to be read. `Arbitrary_files is the list of files that must exist to reproduce directory listings, but that don't need to be read.

module Group : sig ... end
val to_paths_for_mtimes_check : t -> Path.t list * Group.t list