package febusy

  1. Overview
  2. Docs
type hold_artifact =
  1. | Artifact : ('a, 'b) build_status -> hold_artifact
type t = {
  1. depth : int;
  2. stack : hold_artifact list;
  3. database : Database.t;
  4. log : string list ref;
  5. previous_hashes : (string * string) list;
}
val incr : t -> t
val push : t -> ('a, 'b) build_status -> t
val create : (string * string) list -> t
val load : string -> t
val all_hashes : t -> (string * string) list
val save : t -> string -> unit
val ps : ?with_stack:bool -> t -> ('a, unit, string, unit) format4 -> 'b
val get_log : t -> string
val lookup_cache : t -> string -> string option
type 'a looked_up = [
  1. | `In_cache of 'a
  2. | `Not_in_cache of 'a
  3. | `Not_at_all
]
val lookup : 'a 'b. t -> ('a, 'b) Artifact.t -> 'b looked_up
val get_hash : t -> ('a, 'b) Artifact.t -> 'c -> string
val update_cache : t -> ('a, 'b) Artifact.t -> 'c -> unit
val dependencies_changed : t -> [> `Hash_changed of string | `No | `No_hash of string ]