pub enum SystemDependency {
Name(String),
NameMap(HashMap<SystemPackageManager, String>),
Names(Vec<String>),
NamesMap(HashMap<SystemPackageManager, Vec<String>>),
Config(Box<DependencyConfig>),
}Expand description
Represents a system dependency (one or many packages) to install.
Variants§
Name(String)
A single package by name.
NameMap(HashMap<SystemPackageManager, String>)
A single package by name, but with different names (values) depending on package manager (keys).
Names(Vec<String>)
Multiple packages by name.
NamesMap(HashMap<SystemPackageManager, Vec<String>>)
Multiple packages by name, but with different names (values) depending on package manager (keys).
Config(Box<DependencyConfig>)
Either a single or multiple package, defined as an explicit configuration object.
Implementations§
Source§impl SystemDependency
impl SystemDependency
Sourcepub fn name(name: impl AsRef<str>) -> SystemDependency
pub fn name(name: impl AsRef<str>) -> SystemDependency
Create a single dependency by name.
Sourcepub fn names<I, V>(names: I) -> SystemDependency
pub fn names<I, V>(names: I) -> SystemDependency
Create multiple dependencies by name.
Sourcepub fn for_arch(arch: SystemArch, name: impl AsRef<str>) -> SystemDependency
pub fn for_arch(arch: SystemArch, name: impl AsRef<str>) -> SystemDependency
Create a single dependency by name for the target architecture.
Sourcepub fn for_os(os: SystemOS, name: impl AsRef<str>) -> SystemDependency
pub fn for_os(os: SystemOS, name: impl AsRef<str>) -> SystemDependency
Create a single dependency by name for the target operating system.
Sourcepub fn for_os_arch(
os: SystemOS,
arch: SystemArch,
name: impl AsRef<str>,
) -> SystemDependency
pub fn for_os_arch( os: SystemOS, arch: SystemArch, name: impl AsRef<str>, ) -> SystemDependency
Create a single dependency by name for the target operating system and architecture.
Sourcepub fn for_pm<I, V>(pm: SystemPackageManager, names: I) -> SystemDependency
pub fn for_pm<I, V>(pm: SystemPackageManager, names: I) -> SystemDependency
Create multiple dependencies by name for the target package manager.
Sourcepub fn into_config(self) -> SystemDependency
pub fn into_config(self) -> SystemDependency
Convert into the Config variant.
Sourcepub fn to_config(&self) -> DependencyConfig
pub fn to_config(&self) -> DependencyConfig
Convert and expand to a dependency configuration.
Sourcepub fn with_config(
self,
op: impl FnMut(&mut DependencyConfig),
) -> SystemDependency
pub fn with_config( self, op: impl FnMut(&mut DependencyConfig), ) -> SystemDependency
Convert to the Config variant and allow the DependencyConfig
to be mutated through a callback function.
Trait Implementations§
Source§impl Clone for SystemDependency
impl Clone for SystemDependency
Source§fn clone(&self) -> SystemDependency
fn clone(&self) -> SystemDependency
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more