Skip to main content

zccache_depgraph/
lib.rs

1//! Dependency graph for include-aware cache invalidation.
2//!
3//! Tracks `#include` relationships between source and header files,
4//! resolves include paths against search directories, and determines
5//! whether a compilation can use a cached artifact.
6
7pub mod args;
8pub mod compile_commands;
9pub mod context;
10pub mod depfile;
11pub mod graph;
12pub mod msvc_args;
13pub mod rustc_args;
14pub mod scanner;
15pub mod search_paths;
16pub mod session;
17pub mod show_includes;
18pub mod snapshot;
19pub mod system_includes;
20pub mod watcher_support;
21
22pub use args::{ParsedArgs, UserDepFlags};
23pub use compile_commands::{parse_compile_commands_json, CompileCommand};
24pub use context::{
25    compute_artifact_key, compute_rustc_artifact_key, ArtifactKey, CompileContext, ContextKey,
26    RustcCompileContext,
27};
28pub use depfile::{prepare_depfile, DepfileError, DepfileStrategy};
29pub use graph::{CacheVerdict, ContextState, DepGraph, DepGraphStats};
30pub use rustc_args::{parse_rustc_args, ExternCrate, RustcParsedArgs};
31pub use scanner::{IncludeDirective, IncludeKind, ScanResult};
32pub use search_paths::IncludeSearchPaths;
33pub use session::{
34    FinalizedSessionStats, Session, SessionConfig, SessionId, SessionManager, SessionStatsTracker,
35};
36pub use snapshot::{
37    classify_load, depgraph_file_path, load_from_file, save_to_file, DepGraphLoadOutcome,
38    SnapshotError, DEPGRAPH_VERSION,
39};
40pub use system_includes::{discovery_args, parse_system_include_output, SystemIncludeCache};
41pub use watcher_support::WatchSet;