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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)