pub fn resolve_input_files<F: Filesystem>(
fs: &F,
workspace: &Workspace,
project: &Project,
inputs: &[InputSpec],
algo: HashAlgo,
) -> Result<Vec<OwnedInputFile>, BuildKeyError>Expand description
Resolve every InputSpec declared on a task against fs and
hash the bytes of each matched file under algo.
Each spec contributes zero or more OwnedInputFiles to the
returned vector. A PathPattern::Literal always contributes
exactly one entry on success; a non-matching glob contributes
none. Errors surface the first failure encountered while walking
or reading; later inputs in the same task are not attempted.
Symlink semantics follow CACHE-006: the workspace-absolute path
recorded is the matching entry’s own path (so two symlinks to the
same target produce two distinct contributions), while the bytes
fed into the hash come from the symlink’s canonical target
(Filesystem::read follows symlinks).
§Errors
Returns a BuildKeyError variant describing the first
failure encountered: a literal input that resolves to a missing
path or non-regular-file, a glob walk that fails on metadata or
recursion, or a content read that fails. Caller responsibility
to surface as a user-facing diagnostic.