Skip to main content

Module dependency_graph

Module dependency_graph 

Source
Expand description

Build-time dependency-graph fingerprinting (IronPrint).

Two mutually independent feature gates control the facility:

FeatureProvided symbols
dependency-graph-buildbuild::generate_ironprint — writes a compact, normalised ironprint.json to $OUT_DIR;
build::export — optionally writes a pretty-printed copy alongside Cargo.toml
dependency-graph-capturecapture::parse — deserialises the embedded snapshot into a typed capture::IronprintData;
capture::as_bytes — returns the raw, deterministic JSON bytes

Place dependency-graph-build in [build-dependencies] and dependency-graph-capture in [dependencies]; neither implies the other.

§Concerns

  • The fingerprint is stored as plain text in the binary’s read-only data section. It is informational in nature; it does not constitute a security boundary and is not tamper-evident.
  • Calling export(true) writes ironprint.json to the crate root. Add this file to .gitignore to prevent unintentional exposure of build-environment details.
  • The snapshot is fixed at compile time and does not reflect runtime state.

Modules§

backend_deps
Re-exports all backend dependencies used by the dependency-graph module.
build
Build-time fingerprint generator for use in a downstream build.rs.
capture
Runtime reader for the ironprint.json fingerprint embedded in the binary.