Struct cargo_metadata::MetadataCommand
source · [−]pub struct MetadataCommand { /* private fields */ }
Expand description
A builder for configurating cargo metadata
invocation.
Implementations
sourceimpl MetadataCommand
impl MetadataCommand
sourcepub fn new() -> MetadataCommand
pub fn new() -> MetadataCommand
Creates a default cargo metadata
command, which will look for
Cargo.toml
in the ancestors of the current directory.
sourcepub fn cargo_path(&mut self, path: impl Into<PathBuf>) -> &mut MetadataCommand
pub fn cargo_path(&mut self, path: impl Into<PathBuf>) -> &mut MetadataCommand
Path to cargo
executable. If not set, this will use the
the $CARGO
environment variable, and if that is not set, will
simply be cargo
.
sourcepub fn manifest_path(&mut self, path: impl Into<PathBuf>) -> &mut MetadataCommand
pub fn manifest_path(&mut self, path: impl Into<PathBuf>) -> &mut MetadataCommand
Path to Cargo.toml
sourcepub fn current_dir(&mut self, path: impl Into<PathBuf>) -> &mut MetadataCommand
pub fn current_dir(&mut self, path: impl Into<PathBuf>) -> &mut MetadataCommand
Current directory of the cargo metadata
process.
sourcepub fn no_deps(&mut self) -> &mut MetadataCommand
pub fn no_deps(&mut self) -> &mut MetadataCommand
Output information only about workspace members and don’t fetch dependencies.
sourcepub fn features(&mut self, features: CargoOpt) -> &mut MetadataCommand
pub fn features(&mut self, features: CargoOpt) -> &mut MetadataCommand
Which features to include.
Call this multiple times to specify advanced feature configurations:
MetadataCommand::new()
.features(CargoOpt::NoDefaultFeatures)
.features(CargoOpt::SomeFeatures(vec!["feat1".into(), "feat2".into()]))
.features(CargoOpt::SomeFeatures(vec!["feat3".into()]))
// ...
Panics
cargo metadata
rejects multiple --no-default-features
flags. Similarly, the features()
method panics when specifying multiple CargoOpt::NoDefaultFeatures
:
MetadataCommand::new()
.features(CargoOpt::NoDefaultFeatures)
.features(CargoOpt::NoDefaultFeatures) // <-- panic!
// ...
The method also panics for multiple CargoOpt::AllFeatures
arguments:
MetadataCommand::new()
.features(CargoOpt::AllFeatures)
.features(CargoOpt::AllFeatures) // <-- panic!
// ...
sourcepub fn other_options(
&mut self,
options: impl Into<Vec<String>>
) -> &mut MetadataCommand
pub fn other_options(
&mut self,
options: impl Into<Vec<String>>
) -> &mut MetadataCommand
Arbitrary command line flags to pass to cargo
. These will be added
to the end of the command line invocation.
sourcepub fn cargo_command(&self) -> Command
pub fn cargo_command(&self) -> Command
Builds a command for cargo metadata
. This is the first
part of the work of exec
.
Trait Implementations
sourceimpl Clone for MetadataCommand
impl Clone for MetadataCommand
sourcefn clone(&self) -> MetadataCommand
fn clone(&self) -> MetadataCommand
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more