Skip to main content

resolve_pinned_programs

Function resolve_pinned_programs 

Source
pub fn resolve_pinned_programs(
    tools: &[DeclaredToolDownloads],
    shell_allow: &[String],
    path_dirs: &[PathBuf],
    store_root: Result<&Path, &str>,
    platform: Option<&str>,
) -> Vec<ResolvedPinnedProgram>
Expand description

derive_pinned_programs with the host injected.

Only a tool whose origin is LockOrigin::Operator contributes, only for a program key equal to an entry of shell_allow, and only when it pins a download for platform. One element per (artifact, program), tools in the order given and programs in declaration order. Per program: PinnedSource::Host when path_dirs hold an executable of that name; else PinnedSource::Pinned when the entry’s record pins the declared sha256 and bin/<program> resolves to an executable file inside it; else PinnedSource::Missing.