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
// Path resolution for the compiler-facts artifact. Reuses the already-public
// `graph::graph_json_path` instead of reaching for the private `graph_dir`,
// so this file needs no `super::paths` access at all despite living beside
// `graph.json` in the same directory.
use fs;
use ;
use crategraph_json_path;
use COMPILER_FACTS_CONTRACT_VERSION;
/// Every generation below the current one. Empty at contract version 1;
/// filled in the same way `graph::paths::SUPERSEDED_CACHE_FILES` already
/// is, the moment a second contract version ships.
pub const SUPERSEDED_COMPILER_FACTS_FILES: & = &;
/// The compiler-facts artifact's file name: the contract version is part of
/// it, so a future contract bump writes a new file rather than overwriting
/// this one -- a v2-only reader is inert to a stale v1 file by construction.
/// The one place the name is spelled.
/// Path to the compiler-facts artifact for `root`, beside `graph.json`.
/// Removes every superseded compiler-facts generation for `root`. Called
/// from the publish step; a no-op today since
/// [`SUPERSEDED_COMPILER_FACTS_FILES`] is empty at contract version 1.