package dune-private-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=8f77d3a87f208e0d7cccaa1c48c4bb1bb87d62d07c3f25e9b8ba298e028ce52b
sha512=f209f12ced10c1abf8782bdb0143f4cec77795f7174d2cc75130afb1e01550b01f2f77b9e3ec4888efdad83d2f9878d179b39126f824f4e522f3ef4da34bf27e
doc/dune-private-libs.cache/Cache/Local/index.html
Module Cache.Local
val set_build_dir : t -> Stdune.Path.t -> t
Set the absolute path to the build directory for interpreting relative paths when promoting files.
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 ->
Stdune.Sexp.t list ->
repository:int option ->
duplication:Cache__.Cache_intf.Duplication_mode.t option ->
(unit, string) Stdune.Result.t
Promote files produced by a build rule into the cache.
val search :
t ->
Key.t ->
(Stdune.Sexp.t list * Cache__.Cache_intf.File.t list, string) Stdune.Result.t
Find a build rule in the cache by its key.
val retrieve : t -> Cache__.Cache_intf.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.
val deduplicate : t -> Cache__.Cache_intf.File.t -> unit
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 default_root : unit -> Stdune.Path.t
The default root directory of the local cache.
module Metadata_file : sig ... end
A matadata file contains a list of files
produced by a cached build rule, along with some metadata
that can be empty.
val promote_sync :
t ->
(Stdune.Path.Build.t * Stdune.Digest.t) list ->
Key.t ->
Stdune.Sexp.t list ->
repository:int option ->
duplication:Cache__.Cache_intf.Duplication_mode.t option ->
(Metadata_file.t * Cache__.Cache_intf.promotion list, string) Stdune.Result.t
Like promote
but also returns the resulting metadata and promotions.
val make :
?root:Stdune.Path.t ->
?duplication_mode:Cache__.Cache_intf.Duplication_mode.t ->
?log:(Stdune.User_message.Style.t Stdune.Pp.t list -> unit) ->
?warn:(Stdune.User_message.Style.t Stdune.Pp.t list -> unit) ->
command_handler:(Cache__.Cache_intf.command -> unit) ->
unit ->
(t, string) Stdune.Result.t
Create a local cache. The only required argument is a handler for commands from the cache, such as Dedup
that tell Dune that some files can be replaced with hardlinks to their cached versions. The root
argument defaults to the default_root
. If duplication_mode
is omitted, we attempt to detect whether hardlinks are supported and use Hardlink
if they are, falling back to Copy
otherwise.
val duplication_mode : t -> Cache__.Cache_intf.Duplication_mode.t
The deduplication mode that was set or detected automatically (if omitted) during the local cache creation with the function make
.
val overhead_size : t -> int
The overhead size of the cache, that is, the total size of files in the cache that are not linked from any build directory.
module Trimming_result : sig ... end
val trim : t -> int -> Trimming_result.t
trim cache size
removes files from cache
, starting with the least recently used one, until size
bytes have been freed.
val garbage_collect : t -> Trimming_result.t
Purge invalid or incomplete cached rules.
val path_metadata : t -> Key.t -> Stdune.Path.t
Path to a metadata file
val path_data : t -> Key.t -> Stdune.Path.t
Path to a data file