Struct cargo_toml::Package
source · #[non_exhaustive]pub struct Package<Metadata = Value> {Show 27 fields
pub name: String,
pub edition: Inheritable<Edition>,
pub rust_version: Option<Inheritable<String>>,
pub version: Inheritable<String>,
pub build: Option<OptionalFile>,
pub workspace: Option<String>,
pub authors: Inheritable<Vec<String>>,
pub links: Option<String>,
pub description: Option<Inheritable<String>>,
pub homepage: Option<Inheritable<String>>,
pub documentation: Option<Inheritable<String>>,
pub readme: Inheritable<OptionalFile>,
pub keywords: Inheritable<Vec<String>>,
pub categories: Inheritable<Vec<String>>,
pub exclude: Inheritable<Vec<String>>,
pub include: Inheritable<Vec<String>>,
pub license: Option<Inheritable<String>>,
pub license_file: Option<Inheritable<PathBuf>>,
pub repository: Option<Inheritable<String>>,
pub default_run: Option<String>,
pub autobins: bool,
pub autoexamples: bool,
pub autotests: bool,
pub autobenches: bool,
pub publish: Inheritable<Publish>,
pub resolver: Option<Resolver>,
pub metadata: Option<Metadata>,
}
Expand description
You can replace Metadata
type with your own
to parse into something more useful than a generic toml Value
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.name: String
Careful: some names are uppercase
edition: Inheritable<Edition>
§rust_version: Option<Inheritable<String>>
MSRV 1.x (beware: does not require semver formatting)
version: Inheritable<String>
e.g. “1.9.0”
build: Option<OptionalFile>
§workspace: Option<String>
Workspace this package is a member of (None
if it’s implicit)
e.g. [“Author e@mail”, “etc”] Deprecated.
links: Option<String>
§description: Option<Inheritable<String>>
A short blurb about the package. This is not rendered in any format when uploaded to crates.io (aka this is not markdown).
homepage: Option<Inheritable<String>>
§documentation: Option<Inheritable<String>>
§readme: Inheritable<OptionalFile>
This points to a file under the package root (relative to this Cargo.toml
).
implied if README.md, README.txt or README exists.
keywords: Inheritable<Vec<String>>
§categories: Inheritable<Vec<String>>
This is a list of up to five categories where this crate would fit. e.g. [“command-line-utilities”, “development-tools::cargo-plugins”]
exclude: Inheritable<Vec<String>>
§include: Inheritable<Vec<String>>
§license: Option<Inheritable<String>>
e.g. “MIT”
license_file: Option<Inheritable<PathBuf>>
§repository: Option<Inheritable<String>>
§default_run: Option<String>
The default binary to run by cargo run.
autobins: bool
§autoexamples: bool
§autotests: bool
§autobenches: bool
§publish: Inheritable<Publish>
§resolver: Option<Resolver>
“2” is the only useful value
metadata: Option<Metadata>
Implementations§
source§impl<Metadata> Package<Metadata>
impl<Metadata> Package<Metadata>
sourcepub fn new(name: impl Into<String>, version: impl Into<String>) -> Self
pub fn new(name: impl Into<String>, version: impl Into<String>) -> Self
Prefer creating it by parsing Manifest
instead
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn categories(&self) -> &[String]
pub fn categories(&self) -> &[String]
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn categories_mut(&mut self) -> &mut Vec<String>
pub fn categories_mut(&mut self) -> &mut Vec<String>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn description(&self) -> Option<&str>
pub fn description(&self) -> Option<&str>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
pub fn set_description(&mut self, description: Option<String>)
sourcepub fn documentation(&self) -> Option<&str>
pub fn documentation(&self) -> Option<&str>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
pub fn set_documentation(&mut self, documentation: Option<String>)
sourcepub fn edition(&self) -> Edition
pub fn edition(&self) -> Edition
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn exclude(&self) -> &[String]
pub fn exclude(&self) -> &[String]
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn include(&self) -> &[String]
pub fn include(&self) -> &[String]
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn homepage(&self) -> Option<&str>
pub fn homepage(&self) -> Option<&str>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
pub fn set_homepage(&mut self, homepage: Option<String>)
sourcepub fn keywords(&self) -> &[String]
pub fn keywords(&self) -> &[String]
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn license(&self) -> Option<&str>
pub fn license(&self) -> Option<&str>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn license_file(&self) -> Option<&Path>
pub fn license_file(&self) -> Option<&Path>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn publish(&self) -> &Publish
pub fn publish(&self) -> &Publish
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn readme(&self) -> &OptionalFile
pub fn readme(&self) -> &OptionalFile
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn repository(&self) -> Option<&str>
pub fn repository(&self) -> Option<&str>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
pub fn set_repository(&mut self, repository: Option<String>)
sourcepub fn rust_version(&self) -> Option<&str>
pub fn rust_version(&self) -> Option<&str>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn version(&self) -> &str
pub fn version(&self) -> &str
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)