Struct debian_packaging::dependency_resolution::DependencyResolver [−][src]
pub struct DependencyResolver<'file, 'data: 'file> { /* fields omitted */ }Expand description
An entity for resolving dependencies between packages.
Implementations
pub fn load_binary_packages(
&mut self,
files: impl Iterator<Item = &'file BinaryPackageControlFile<'data>>
) -> Result<()>
pub fn load_binary_packages(
&mut self,
files: impl Iterator<Item = &'file BinaryPackageControlFile<'data>>
) -> Result<()>
Load an iterable of binary packages into the resolver.
This effectively indexes the given binary package definitions and enables them to be discovered during subsequent dependency resolution.
pub fn find_direct_binary_package_dependencies(
&self,
cf: &BinaryPackageControlFile<'_>,
dep: BinaryDependency
) -> Result<BinaryPackageDependenciesResolution<'file, 'data>>
pub fn find_direct_binary_package_dependencies(
&self,
cf: &BinaryPackageControlFile<'_>,
dep: BinaryDependency
) -> Result<BinaryPackageDependenciesResolution<'file, 'data>>
Find direct dependencies given a binary control file and a dependency field.
This will resolve the specified BinaryDependency field to a list of constraints and then find candidate BinaryPackageControlFile satisfying all requirements within.
pub fn find_transitive_binary_package_dependencies(
&self,
cf: &'file BinaryPackageControlFile<'data>,
fields: impl Iterator<Item = BinaryDependency>
) -> Result<BinaryPackageTransitiveDependenciesResolution<'file, 'data>>
pub fn find_transitive_binary_package_dependencies(
&self,
cf: &'file BinaryPackageControlFile<'data>,
fields: impl Iterator<Item = BinaryDependency>
) -> Result<BinaryPackageTransitiveDependenciesResolution<'file, 'data>>
Resolve binary package dependencies transitively.
Given a binary package control file and an iterable of dependency fields to follow, this function will resolve the complete dependency graph for the given package.
It works by resolving direct dependencies. Then for each direct dependency, it resolves its direct dependencies. And this cycle continues until no new packages are discovered.
Only the dependency fields specified by fields are searched. This allows
callers to e.g. not include Recommends or Suggests dependencies in the
returned set. Callers are strongly encouraged to include
BinaryDependency::Depends and BinaryDependency::PreDepends in this
iterable because the dependency graph will be logically incomplete with them.
Trait Implementations
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl<'file, 'data> RefUnwindSafe for DependencyResolver<'file, 'data>
impl<'file, 'data> Send for DependencyResolver<'file, 'data>
impl<'file, 'data> Sync for DependencyResolver<'file, 'data>
impl<'file, 'data> Unpin for DependencyResolver<'file, 'data> where
'data: 'file,
impl<'file, 'data> UnwindSafe for DependencyResolver<'file, 'data>
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more
