sig
val clean : unit -> unit
type knowledge = Yes | No | Unknown
type suspension = Command.t * (unit -> unit)
type build_status =
Bbuilt
| Bcannot_be_built
| Bnot_built_yet
| Bsuspension of Resource.Cache.suspension
type cache_entry = {
mutable built : Resource.Cache.build_status;
mutable changed : Resource.Cache.knowledge;
mutable dependencies : Resource.Resources.t;
}
val empty : unit -> Resource.Cache.cache_entry
val print_knowledge : Format.formatter -> Resource.Cache.knowledge -> unit
val print_build_status :
Format.formatter -> Resource.Cache.build_status -> unit
val print_cache_entry :
Format.formatter -> Resource.Cache.cache_entry -> unit
val cache : (Pathname.t, Resource.Cache.cache_entry) Hashtbl.t
val get : Pathname.t -> Resource.Cache.cache_entry
val fold_cache :
(Pathname.t -> Resource.Cache.cache_entry -> 'a -> 'a) -> 'a -> 'a
val print_cache : Format.formatter -> unit -> unit
val print_graph : Format.formatter -> unit -> unit
val resource_changed : Pathname.t -> unit
val external_is_up_to_date : string -> bool
val source_is_up_to_date : string -> Pathname.t -> bool
val prod_is_up_to_date : Pathname.t -> bool
val resource_has_changed : Pathname.t -> bool
val resource_state : Pathname.t -> Resource.Cache.build_status
val resource_built : Pathname.t -> unit
val resource_failed : Pathname.t -> unit
val import_in_build_dir : Pathname.t -> unit
val suspend_resource :
Pathname.t -> Command.t -> (unit -> 'a) -> Pathname.t list -> unit
val resume_suspension : Command.t * (unit -> 'a) -> 'a
val resume_resource : Pathname.t -> unit
val get_optional_resource_suspension :
Pathname.t -> Resource.Cache.suspension option
val clear_resource_failed : Pathname.t -> unit
val dependencies : Pathname.t -> Resource.Resources.t
val fold_dependencies :
(Pathname.t -> Resource.Resources.elt -> 'a -> 'a) -> 'a -> 'a
val add_dependency : Pathname.t -> Resource.Resources.elt -> unit
val print_dependencies : Format.formatter -> unit -> unit
end