Expand description
Core of cargo-add command
Re-exportsยง
use std::collections::BTreeMap;๐use std::collections::BTreeSet;๐use std::collections::VecDeque;๐use std::fmt::Write;๐use std::path::Path;๐use anyhow::Context as _;๐use cargo_util::collections::IndexSet;๐use cargo_util::paths;๐use cargo_util_schemas::core::PartialVersion;๐use cargo_util_schemas::manifest::PathBaseName;๐use cargo_util_schemas::manifest::RustVersion;๐use cargo_util_terminal::Shell;๐use itertools::Itertools;๐use toml_edit::Item as TomlItem;๐use crate::CargoResult;๐use crate::GlobalContext;๐use crate::ops::resolve_ws;๐use crate::resolver::PublishAgePolicy;๐use crate::sources::IndexSummary;๐use crate::sources::source::QueryKind;๐use crate::util::OptVersionReq;๐use crate::util::VersionReqMatchMode;๐use crate::util::cache_lock::CacheLockMode;๐use crate::util::edit_distance;๐use crate::util::edit_distance;๐use crate::util::style;๐use crate::workspace::Edition;๐use crate::workspace::Feature;๐use crate::workspace::FeatureValue;๐use crate::workspace::Features;๐use crate::workspace::Package;๐use crate::workspace::PackageId;๐use crate::workspace::Registry;๐use crate::workspace::Summary;๐use crate::workspace::Workspace;๐use crate::workspace::dependency::DepKind;๐use crate::workspace::editor::dependency::Dependency;๐use crate::workspace::editor::dependency::GitSource;๐use crate::workspace::editor::dependency::MaybeWorkspace;๐use crate::workspace::editor::dependency::PathSource;๐use crate::workspace::editor::dependency::RegistrySource;๐use crate::workspace::editor::dependency::Source;๐use crate::workspace::editor::dependency::WorkspaceSource;๐use crate::workspace::editor::manifest::DepTable;๐use crate::workspace::editor::manifest::LocalManifest;๐use crate::workspace::parser::lookup_path_base;๐use crate::workspace::registry::PackageRegistry;๐use crate_spec::CrateSpec;๐
Modulesยง
- crate_
spec ๐ - Crate name parsing.
Structsยง
- AddOptions
- Information on what dependencies should be added
- DepOp
- Dependency entry operation
- DependencyUI
- Track presentation-layer information with the editable representation of a
[dependencies]entry (Dependency)
Constantsยง
- MAX_
FEATURE_ ๐PRINTS
Functionsยง
- add
- Add dependencies to a manifest
- check_
invalid_ ๐ws_ keys - When { workspace = true } you cannot define other keys that configure
the source of the dependency such as
version,registry,registry-index,path,git,branch,tag,rev, orpackage. Prior to Edition 2024 (RFC 3945)default-featureswas also forbidden; from Edition 2024 onwards a package-leveldefault-featuresoverrides the workspace value, so it is allowed. - check_
rust_ ๐version_ for_ optional_ dependency - When the
--optionaloption is added usingcargo add, we need to check the current rust-version. As thedep:syntax is only available starting with Rust 1.60.0 - find_
workspace_ ๐dep - format_
features_ ๐version_ suffix - fuzzy_
lookup ๐ - get_
existing_ ๐dependency - Provide the existing dependency for the target table
- get_
latest_ ๐dependency - get_
public_ ๐dependency - infer_
package_ ๐for_ git_ source - latest_
compatible ๐ - Of MSRV-compatible summaries, find the highest version
- populate_
available_ ๐features - Lookup available features
- populate_
dependency ๐ - precise_
version ๐ - Convert a
semver::VersionReqinto a renderedsemver::Versionif all fields are fully specified. - print_
action_ ๐msg - print_
dep_ ๐table_ msg - query_
dependency ๐ - resolve_
dependency ๐ - select_
package ๐