Skip to main content

Module cargo_add

Module cargo_add 

Source
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, or package. Prior to Edition 2024 (RFC 3945) default-features was also forbidden; from Edition 2024 onwards a package-level default-features overrides the workspace value, so it is allowed.
check_rust_version_for_optional_dependency ๐Ÿ”’
When the --optional option is added using cargo add, we need to check the current rust-version. As the dep: 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::VersionReq into a rendered semver::Version if all fields are fully specified.
print_action_msg ๐Ÿ”’
print_dep_table_msg ๐Ÿ”’
query_dependency ๐Ÿ”’
resolve_dependency ๐Ÿ”’
select_package ๐Ÿ”’