pub struct BuildInputs { /* private fields */ }Expand description
An owned, byte-exact revision. Rust sources remain text for function admission; every other input is encoded so binary assets are covered without lossy decoding.
Implementations§
Source§impl BuildInputs
impl BuildInputs
Sourcepub fn capture(
root: &Path,
excluded_directories: &[PathBuf],
context: BTreeMap<String, String>,
) -> Result<Self>
pub fn capture( root: &Path, excluded_directories: &[PathBuf], context: BTreeMap<String, String>, ) -> Result<Self>
Read all regular files recursively. Exclusions are explicit root-relative
directories, normally .git and the build output directory. Never exclude
a dependency or compiler input. Symlinks are rejected instead of silently
overlooking external inputs or making the staged build resolve differently.
Two identical reads reject ordinary edits during capture; the staged bytes,
rather than the mutable source directory, must be used for compilation.
Sourcepub fn snapshot(&self) -> Result<SourceSnapshot>
pub fn snapshot(&self) -> Result<SourceSnapshot>
Exact comparison inputs for PatchSupervisor. Context keys live outside the
filesystem namespace and must include toolchain identity and relevant env.
Sourcepub fn stage(&self) -> Result<StagedInputs>
pub fn stage(&self) -> Result<StagedInputs>
Create an isolated source tree from the captured bytes, never by rereading live sources. Keep this object alive for the entire build and verification.