val set_build_dir : t -> Stdune.Path.t -> (t, string) Stdune.Result.t
Set the absolute path to the build directory for interpreting relative paths when promoting files.
val with_repositories : t -> repository list -> (t, string) Stdune.Result.t
Set all the version controlled repositories in the workspace to be referred to when promoting files.
val promote : t -> (Stdune.Path.Build.t * Stdune.Digest.t) list -> Key.t -> metadata -> repository:int option -> duplication:Duplication_mode.t option -> (unit, string) Stdune.Result.t
Promote files produced by a build rule into the cache.
val search : t -> Key.t -> (metadata * File.t list, string) Stdune.Result.t
Find a build rule in the cache by its key.
val retrieve : t -> File.t -> Stdune.Path.t
Materialise a cached file in the build directory (using Copy
or Hardlink
as per the duplication mode) and return the path to it.
Deduplicate a file, i.e. replace the file in_the_build_directory
with a hardlink to the one in_the_cache
if the deduplication mode is set to Hardlink
(or do nothing if the mode is Copy
).
val teardown : t -> unit
Remove the local cache and disconnect with a distributed cache client if any.
val hint : t -> Key.t list -> (unit, string) Stdune.Result.t