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
33
34
35
36
37
38
39
40
//! Artifact pack format, atomic writes, hardlinking, cached output materialization.
//!
//! Originally a single 1K-LOC `persist.rs`; split per domain so each file
//! stays well under the 1,000 LOC cap. Submodules:
//!
//! - [`artifact_io`] — Atomic writes (`persist_artifact_output`,
//! `persist_artifact_file`, `replace_artifact_cache_file`),
//! `PersistArtifactFileStats`, error enrichment, and the Windows
//! AV-scanner retry helper.
//! - [`pack`] — Experimental `.pack` artifact format (env-gated via
//! `ZCCACHE_PACK_ARTIFACTS`): magic header, builder, parser, and
//! per-payload extractor.
//! - [`write_cached`] — Materialize cached output to its target path
//! (`write_cached_output`, `write_cached_file`, `write_cached_payload`,
//! and the parallel batch entry points).
//! - [`hardlink`] — Cross-platform hardlink helpers
//! (`break_output_hardlink_before_compile`, `hard_link_count`,
//! `same_file`, Windows `get_file_id`).
//! - [`mtime`] — Mtime preservation + sibling-floor refinement
//! (`touch_mtime`, `floor_materialized_outputs_to_input_max`).
//!
//! All `pub(super)` items are re-exported here so the parent `use
//! persist::*;` glob still sees the original surface.
use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;