Module Jenga_lib__Db

Db contains types which will be stored persistently, so jenga doesn't need to rerun all the actions on restart. This is different from make which does not need persistent state, because instead of storing the knowledge that dependencies+action produced targets, it uses timestamps dependencies > timestamps of targets to claim that targets need to be recreated, and it doesn't even make record the dependency on the action. Most types do not expose bin_ios because there is some sharing in the serialized format across values (see With_index), and so they cannot be serialized independently.

module Kind : sig ... end
module Mtime : sig ... end
module Stats : sig ... end
module Digest : sig ... end
module Listing : sig ... end
module Glob : sig ... end
module Pm_key : sig ... end
module Proxy : sig ... end
module Proxy_map : sig ... end
module Sandbox_kind : sig ... end
module Save_proxy : sig ... end
module Process_proxy : sig ... end
module Action_proxy : sig ... end
module Rule_proxy : sig ... end
module Output_proxy : sig ... end
type t
val create : unit ‑> t
val digest_cache : t ‑> (Stats.t * Digest.t) Jenga_lib.Path.Table.t
val generated : t ‑> Jenga_lib.Path.Set.t Jenga_lib.Path.Rel.Table.t
val ruled : t ‑> Rule_proxy.t Jenga_lib.Path.Rel.Table.t
val actioned : t ‑> Output_proxy.t Action_proxy.Table.t
module With_index : sig ... end with type outer_t := t