| [workspace] |
| resolver = "2" |
| members = [ |
| "crates/*", |
| "credential/*", |
| "benches/benchsuite", |
| "benches/capture", |
| ] |
| exclude = [ |
| "target/", # exclude bench testing |
| ] |
| |
| [workspace.package] |
| rust-version = "1.89" # MSRV:3 |
| edition = "2024" |
| license = "MIT OR Apache-2.0" |
| homepage = "https://github.com/rust-lang/cargo" |
| repository = "https://github.com/rust-lang/cargo" |
| |
| [workspace.dependencies] |
| annotate-snippets = { version = "0.12.10", features = ["simd"] } |
| anstream = "0.6.21" |
| anstyle = "1.0.13" |
| anyhow = "1.0.100" |
| base64 = "0.22.1" |
| blake3 = "1.8.2" |
| build-rs = { version = "0.3.1", path = "crates/build-rs" } |
| cargo = { path = "" } |
| cargo-credential = { version = "0.4.2", path = "credential/cargo-credential" } |
| cargo-credential-libsecret = { version = "0.5.5", path = "credential/cargo-credential-libsecret" } |
| cargo-credential-macos-keychain = { version = "0.4.20", path = "credential/cargo-credential-macos-keychain" } |
| cargo-credential-wincred = { version = "0.4.20", path = "credential/cargo-credential-wincred" } |
| cargo-platform = { path = "crates/cargo-platform", version = "0.3.0" } |
| cargo-test-macro = { version = "0.4.9", path = "crates/cargo-test-macro" } |
| cargo-test-support = { version = "0.10.0", path = "crates/cargo-test-support" } |
| cargo-util = { version = "0.2.27", path = "crates/cargo-util" } |
| cargo-util-schemas = { version = "0.12.0", path = "crates/cargo-util-schemas" } |
| cargo_metadata = "0.23.1" |
| clap = "4.5.53" |
| clap_complete = { version = "4.5.64", features = ["unstable-dynamic"] } |
| color-print = "0.3.7" |
| core-foundation = { version = "0.10.1", features = ["mac_os_10_7_support"] } |
| crates-io = { version = "0.40.17", path = "crates/crates-io" } |
| criterion = { version = "0.8.1", features = ["html_reports"] } |
| curl = "0.4.49" |
| # Do not upgrade curl-sys past 0.4.83 |
| # https://github.com/rust-lang/cargo/issues/16357 |
| curl-sys = "0.4.84" |
| filetime = "0.2.26" |
| flate2 = { version = "1.1.5", default-features = false, features = ["zlib-rs"] } |
| git2 = "0.20.3" |
| git2-curl = "0.21.0" |
| # When updating this, also see if `gix-transport` further down needs updating or some auth-related tests will fail. |
| gix = { version = "0.77.0", default-features = false, features = ["progress-tree", "parallel", "dirwalk", "status"] } |
| glob = "0.3.3" |
| handlebars = { version = "6.4.0", features = ["dir_source"] } |
| hex = "0.4.3" |
| hmac = "0.12.1" |
| home = "0.5.12" |
| http-auth = { version = "0.1.10", default-features = false } |
| ignore = "0.4.25" |
| im-rc = "15.1.0" |
| indexmap = "2.12.1" |
| itertools = "0.14.0" |
| jiff = { version = "0.2.17", default-features = false, features = [ "std" ] } |
| jobserver = "0.1.34" |
| libc = "0.2.178" |
| libgit2-sys = "0.18.3" |
| libloading = "0.9.0" |
| memchr = "2.7.6" |
| memfd = "0.6.5" |
| miow = "0.6.1" |
| opener = "0.8.3" |
| openssl = "0.10.75" |
| openssl-sys = "0.9.111" |
| os_info = { version = "3.14.0", default-features = false } |
| pasetors = { version = "0.7.7", features = ["v3", "paserk", "std", "serde"] } |
| pathdiff = "0.2.3" |
| percent-encoding = "2.3.2" |
| pkg-config = "0.3.32" |
| proptest = "1.9.0" |
| pulldown-cmark = { version = "0.13.0", default-features = false, features = ["html"] } |
| rand = "0.9.2" |
| regex = "1.12.2" |
| rusqlite = { version = "0.38.0", features = ["bundled"] } |
| rustc-hash = "2.1.1" |
| rustc-stable-hash = "0.1.2" |
| rustfix = { version = "0.9.2", path = "crates/rustfix" } |
| same-file = "1.0.6" |
| schemars = "1.2.0" |
| security-framework = "3.5.1" |
| semver = { version = "1.0.27", features = ["serde"] } |
| serde = "1.0.228" |
| serde_core = "1.0.228" |
| serde-untagged = "0.1.9" |
| serde-value = "0.7.0" |
| serde_ignored = "0.1.14" |
| serde_json = "1.0.148" |
| sha1 = "0.10.6" |
| sha2 = "0.10.9" |
| shell-escape = "0.1.5" |
| similar = "2.7.0" |
| supports-hyperlinks = "3.2.0" |
| supports-unicode = "3.0.0" |
| snapbox = { version = "0.6.23", features = ["diff", "dir", "term-svg", "regex", "json"] } |
| tar = { version = "0.4.44", default-features = false } |
| tempfile = "3.24.0" |
| thiserror = "2.0.17" |
| time = { version = "0.3.44", features = ["parsing", "formatting", "serde"] } |
| toml = { version = "0.9.10", default-features = false } |
| toml_edit = { version = "0.24.0", features = ["serde"] } |
| tracing = { version = "0.1.44", default-features = false, features = ["std"] } # be compatible with rustc_log: https://github.com/rust-lang/rust/blob/e51e98dde6a/compiler/rustc_log/Cargo.toml#L9 |
| tracing-chrome = "0.7.2" |
| tracing-subscriber = { version = "0.3.22", features = ["env-filter"] } |
| unicase = "2.8.1" |
| unicode-ident = "1.0.22" |
| unicode-width = "0.2.2" |
| url = "2.5.7" |
| varisat = "0.2.2" |
| walkdir = "2.5.0" |
| windows-sys = "0.61" |
| winnow = "0.7.14" |
| |
| [workspace.lints.rust] |
| rust_2018_idioms = "warn" # TODO: could this be removed? |
| |
| [workspace.lints.rustdoc] |
| private_intra_doc_links = "allow" |
| |
| [workspace.lints.clippy] |
| all = { level = "allow", priority = -2 } |
| correctness = { level = "warn", priority = -1 } |
| dbg_macro = "warn" |
| disallowed_methods = "warn" |
| print_stderr = "warn" |
| print_stdout = "warn" |
| self_named_module_files = "warn" |
| |
| [package] |
| name = "cargo" |
| version = "0.95.0" |
| edition.workspace = true |
| license.workspace = true |
| rust-version = "1.92" # MSRV:1 |
| homepage = "https://doc.rust-lang.org/cargo/index.html" |
| repository.workspace = true |
| documentation = "https://docs.rs/cargo" |
| description = """ |
| Cargo, a package manager for Rust. |
| """ |
| |
| [lib] |
| name = "cargo" |
| path = "src/cargo/lib.rs" |
| |
| [dependencies] |
| annotate-snippets.workspace = true |
| anstream.workspace = true |
| anstyle.workspace = true |
| anyhow.workspace = true |
| base64.workspace = true |
| blake3.workspace = true |
| cargo-credential.workspace = true |
| cargo-platform.workspace = true |
| cargo-util-schemas.workspace = true |
| cargo-util.workspace = true |
| clap = { workspace = true, features = ["wrap_help"] } |
| clap_complete.workspace = true |
| color-print.workspace = true |
| crates-io.workspace = true |
| curl = { workspace = true, features = ["http2"] } |
| curl-sys.workspace = true |
| filetime.workspace = true |
| flate2.workspace = true |
| git2.workspace = true |
| git2-curl.workspace = true |
| gix.workspace = true |
| glob.workspace = true |
| hex.workspace = true |
| hmac.workspace = true |
| home.workspace = true |
| http-auth.workspace = true |
| ignore.workspace = true |
| im-rc.workspace = true |
| indexmap.workspace = true |
| itertools.workspace = true |
| jiff = { workspace = true, features = ["serde", "std"] } |
| jobserver.workspace = true |
| libgit2-sys.workspace = true |
| memchr.workspace = true |
| opener.workspace = true |
| os_info.workspace = true |
| pasetors.workspace = true |
| pathdiff.workspace = true |
| rand.workspace = true |
| regex.workspace = true |
| rusqlite = { workspace = true, features = ["fallible_uint"] } |
| rustc-hash.workspace = true |
| rustc-stable-hash.workspace = true |
| rustfix.workspace = true |
| same-file.workspace = true |
| semver.workspace = true |
| serde = { workspace = true, features = ["derive"] } |
| serde-untagged.workspace = true |
| serde_ignored.workspace = true |
| serde_json = { workspace = true, features = ["raw_value"] } |
| sha1.workspace = true |
| shell-escape.workspace = true |
| supports-hyperlinks.workspace = true |
| supports-unicode.workspace = true |
| tar.workspace = true |
| tempfile.workspace = true |
| thiserror.workspace = true |
| time.workspace = true |
| toml = { workspace = true, features = ["std", "serde", "parse", "display", "preserve_order"] } |
| toml_edit.workspace = true |
| tracing = { workspace = true, features = ["attributes"] } |
| tracing-subscriber.workspace = true |
| unicase.workspace = true |
| unicode-width.workspace = true |
| unicode-ident.workspace = true |
| url.workspace = true |
| walkdir.workspace = true |
| winnow.workspace = true |
| |
| [target.'cfg(target_has_atomic = "64")'.dependencies] |
| tracing-chrome.workspace = true |
| |
| [target.'cfg(unix)'.dependencies] |
| libc.workspace = true |
| |
| [target.'cfg(target_os = "linux")'.dependencies] |
| cargo-credential-libsecret.workspace = true |
| |
| [target.'cfg(target_os = "macos")'.dependencies] |
| cargo-credential-macos-keychain.workspace = true |
| |
| [target.'cfg(not(windows))'.dependencies] |
| openssl = { workspace = true, optional = true } |
| |
| [target.'cfg(windows)'.dependencies] |
| cargo-credential-wincred.workspace = true |
| |
| [target.'cfg(windows)'.dependencies.windows-sys] |
| workspace = true |
| features = [ |
| "Win32_Foundation", |
| "Win32_Security", |
| "Win32_Storage_FileSystem", |
| "Win32_System_IO", |
| "Win32_System_Console", |
| "Win32_System_JobObjects", |
| "Win32_System_Threading", |
| ] |
| |
| [dev-dependencies] |
| annotate-snippets = { workspace = true, features = ["testing-colors"] } |
| cargo-test-support.workspace = true |
| gix = { workspace = true, features = ["revision"] } |
| # When building Cargo for tests, a safety-measure in `gix` needs to be disabled |
| # to allow sending credentials over HTTP connections. |
| gix-transport = { version = "0.52.1", features = ["http-client-insecure-credentials"] } |
| same-file.workspace = true |
| snapbox.workspace = true |
| |
| [target.'cfg(target_os = "linux")'.dev-dependencies] |
| memfd.workspace = true |
| |
| [build-dependencies] |
| flate2.workspace = true |
| tar.workspace = true |
| |
| [[bin]] |
| name = "cargo" |
| test = false |
| doc = false |
| |
| [features] |
| default = ["http-transport-curl"] |
| vendored-openssl = ["openssl/vendored"] |
| vendored-libgit2 = ["libgit2-sys/vendored"] |
| # This is primarily used by rust-lang/rust distributing cargo the executable. |
| all-static = ['vendored-openssl', 'curl/static-curl', 'curl/force-system-lib-on-osx', 'vendored-libgit2'] |
| # Exactly one of 'http-transport-curl' or 'http-transport-reqwest' must be enabled |
| # when using Cargo as a library. By default, it is 'http-transport-curl'. |
| http-transport-curl = ["gix/blocking-http-transport-curl"] |
| http-transport-reqwest = ["gix/blocking-http-transport-reqwest"] |
| |
| [lints] |
| workspace = true |