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 moreSource§impl Debug for SystemDependency
impl Debug for SystemDependency
Source§impl<'de> Deserialize<'de> for SystemDependency
impl<'de> Deserialize<'de> for SystemDependency
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SystemDependency, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SystemDependency, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for SystemDependency
impl PartialEq for SystemDependency
Source§impl Serialize for SystemDependency
impl Serialize for SystemDependency
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for SystemDependency
impl StructuralPartialEq for SystemDependency
Auto Trait Implementations§
impl Freeze for SystemDependency
impl RefUnwindSafe for SystemDependency
impl Send for SystemDependency
impl Sync for SystemDependency
impl Unpin for SystemDependency
impl UnwindSafe for SystemDependency
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.