pub struct CargoOptions<'a> { /* private fields */ }Expand description
Options for queries which simulate what Cargo does.
This provides control over the resolution algorithm used by guppy’s simulation of Cargo.
Implementations§
Source§impl<'a> CargoOptions<'a>
impl<'a> CargoOptions<'a>
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new CargoOptions with this resolver version and default settings.
The default settings are similar to what a plain cargo build does:
- use version 1 of the Cargo resolver
- exclude dev-dependencies
- do not build proc macros specified in the query on the target platform
- resolve dependencies assuming any possible host or target platform
- do not omit any packages.
Sourcepub fn set_resolver(&mut self, resolver: CargoResolverVersion) -> &mut Self
pub fn set_resolver(&mut self, resolver: CargoResolverVersion) -> &mut Self
Sets the Cargo feature resolver version.
For more about feature resolution, see the documentation for CargoResolverVersion.
Sourcepub fn set_include_dev(&mut self, include_dev: bool) -> &mut Self
pub fn set_include_dev(&mut self, include_dev: bool) -> &mut Self
If set to true, causes dev-dependencies of the initial set to be followed.
This does not affect transitive dependencies – for example, a build or dev-dependency’s further dev-dependencies are never followed.
The default is false, which matches what a plain cargo build does.
Sourcepub fn set_initials_platform(
&mut self,
initials_platform: InitialsPlatform,
) -> &mut Self
pub fn set_initials_platform( &mut self, initials_platform: InitialsPlatform, ) -> &mut Self
Configures the way initials are treated on the target and the host.
The default is a “standard” build and this does not usually need to be set, but some
advanced use cases may require it. For more about this option, see the documentation for
InitialsPlatform.
Sourcepub fn set_platform(
&mut self,
platform_spec: impl Into<PlatformSpec>,
) -> &mut Self
pub fn set_platform( &mut self, platform_spec: impl Into<PlatformSpec>, ) -> &mut Self
Sets both the target and host platforms to the provided spec.
Sourcepub fn set_target_platform(
&mut self,
target_platform: impl Into<PlatformSpec>,
) -> &mut Self
pub fn set_target_platform( &mut self, target_platform: impl Into<PlatformSpec>, ) -> &mut Self
Sets the target platform to the provided spec.
Sourcepub fn set_host_platform(
&mut self,
host_platform: impl Into<PlatformSpec>,
) -> &mut Self
pub fn set_host_platform( &mut self, host_platform: impl Into<PlatformSpec>, ) -> &mut Self
Sets the host platform to the provided spec.
Sourcepub fn add_omitted_packages(
&mut self,
package_ids: impl IntoIterator<Item = &'a PackageId>,
) -> &mut Self
pub fn add_omitted_packages( &mut self, package_ids: impl IntoIterator<Item = &'a PackageId>, ) -> &mut Self
Omits edges into the given packages.
This may be useful in order to figure out what additional dependencies or features a particular set of packages pulls in.
This method is additive.
Trait Implementations§
Source§impl<'a> Clone for CargoOptions<'a>
impl<'a> Clone for CargoOptions<'a>
Source§fn clone(&self) -> CargoOptions<'a>
fn clone(&self) -> CargoOptions<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'a> Debug for CargoOptions<'a>
impl<'a> Debug for CargoOptions<'a>
Auto Trait Implementations§
impl<'a> Freeze for CargoOptions<'a>
impl<'a> RefUnwindSafe for CargoOptions<'a>
impl<'a> Send for CargoOptions<'a>
impl<'a> Sync for CargoOptions<'a>
impl<'a> Unpin for CargoOptions<'a>
impl<'a> UnwindSafe for CargoOptions<'a>
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more