Skip to main content

derive_declared_needs

Function derive_declared_needs 

Source
pub fn derive_declared_needs(
    tools: &[DeclaredToolNeeds],
    shell_allow: &[String],
    capsule_writable: &[&Path],
    pinned: &[ResolvedPinnedProgram],
) -> Vec<ResolvedProgramNeeds>
Expand description

The needs tools declare for the programs shell_allow grants, resolved against this host.

Only a tool whose origin is LockOrigin::Operator contributes, and only for a program key equal to an entry of shell_allow. One element per (artifact, program) with at least one need, tools in the order given and programs in declaration order. capsule_writable are the trees the capsule’s commands can write (crate::interpreter_runtime::capsule_writable_roots). pinned is staging’s source choice for pinned program downloads (crate::pinned_programs::derive_pinned_programs): a program is looked up on PATH and then in each pinned copy’s bin/ folder, and a need resolving at or under a pinned copy’s store entry is granted, though that entry lies under the home folder.

Reads the filesystem only, runs nothing, and fails nothing. Off Linux this returns nothing.