package febusy

  1. Overview
  2. Docs

Module Build.StateSource

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