forked from ocaml/dune
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathshared.mli
More file actions
32 lines (24 loc) · 1.05 KB
/
shared.mli
File metadata and controls
32 lines (24 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
val config : Config.t ref
open Import
(** The shared cache is a separate directory that contains historical build
artifacts produced in different workspaces. To restore results from the
shared cache, Dune copes or hardlinks them into the build directory. *)
(** Check if the shared cache contains results for a rule and decide whether
to use these results or rerun the rule for a reproducibility check. *)
val lookup
: can_go_in_shared_cache:bool
-> rule_digest:Digest.t
-> targets:Targets.Validated.t
-> Digest.t Targets.Produced.t option Fiber.t
(** This function performs the following steps:
- Check that action produced all expected targets;
- Compute their digests;
- Remove write permissions from the targets;
- Store results to the shared cache if needed. *)
val examine_targets_and_store
: can_go_in_shared_cache:bool
-> loc:Loc.t
-> rule_digest:Digest.t
-> should_remove_write_permissions_on_generated_files:bool
-> produced_targets:unit Targets.Produced.t
-> Digest.t Targets.Produced.t Fiber.t