From d199f2e97c30e7b8742548612ff7f03f36990331 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Thu, 26 Sep 2024 12:43:03 -0500 Subject: [PATCH 1/2] chore: Bump versions --- Cargo.lock | 16 ++++++++-------- crates/cargo-platform/Cargo.toml | 2 +- crates/rustfix/Cargo.toml | 2 +- credential/cargo-credential-1password/Cargo.toml | 2 +- credential/cargo-credential/Cargo.toml | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index aa88e03af98..b38b2529b61 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -278,7 +278,7 @@ dependencies = [ "cargo-credential-libsecret", "cargo-credential-macos-keychain", "cargo-credential-wincred", - "cargo-platform 0.1.8", + "cargo-platform 0.1.9", "cargo-test-support", "cargo-util", "cargo-util-schemas", @@ -345,7 +345,7 @@ dependencies = [ [[package]] name = "cargo-credential" -version = "0.4.6" +version = "0.4.7" dependencies = [ "anyhow", "libc", @@ -359,7 +359,7 @@ dependencies = [ [[package]] name = "cargo-credential-1password" -version = "0.4.4" +version = "0.4.5" dependencies = [ "cargo-credential", "serde", @@ -394,15 +394,15 @@ dependencies = [ [[package]] name = "cargo-platform" version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" dependencies = [ "serde", ] [[package]] name = "cargo-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +version = "0.1.9" dependencies = [ "serde", ] @@ -482,7 +482,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", - "cargo-platform 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "cargo-platform 0.1.8", "semver", "serde", "serde_json", @@ -2974,7 +2974,7 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustfix" -version = "0.8.6" +version = "0.8.7" dependencies = [ "anyhow", "proptest", diff --git a/crates/cargo-platform/Cargo.toml b/crates/cargo-platform/Cargo.toml index a42e2829a61..02dd6da8232 100644 --- a/crates/cargo-platform/Cargo.toml +++ b/crates/cargo-platform/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" edition.workspace = true license.workspace = true rust-version.workspace = true diff --git a/crates/rustfix/Cargo.toml b/crates/rustfix/Cargo.toml index f2c2b23d666..7b3d95a401a 100644 --- a/crates/rustfix/Cargo.toml +++ b/crates/rustfix/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rustfix" -version = "0.8.6" +version = "0.8.7" authors = [ "Pascal Hertleif ", "Oliver Schneider ", diff --git a/credential/cargo-credential-1password/Cargo.toml b/credential/cargo-credential-1password/Cargo.toml index 144b44070db..b7ddc691d4e 100644 --- a/credential/cargo-credential-1password/Cargo.toml +++ b/credential/cargo-credential-1password/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cargo-credential-1password" -version = "0.4.4" +version = "0.4.5" rust-version.workspace = true edition.workspace = true license.workspace = true diff --git a/credential/cargo-credential/Cargo.toml b/credential/cargo-credential/Cargo.toml index 63fd8235992..b3da12d3938 100644 --- a/credential/cargo-credential/Cargo.toml +++ b/credential/cargo-credential/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cargo-credential" -version = "0.4.6" +version = "0.4.7" rust-version.workspace = true edition.workspace = true license.workspace = true From 5c87c14f9a162daf10d4133fdaab35c72d67b018 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Thu, 26 Sep 2024 11:08:16 -0500 Subject: [PATCH 2/2] docs: Declare support level for each crate in our Charter / docs This is to bring us into conformance with the [Rust crate ownership policy](https://forge.rust-lang.org/policies/crate-ownership.html). Items of note - `cargo-credential-1password` is declared as Experimental as it is intended for the community but I was unsure if we wanted to commit to full support for it. In my mind, the ideal thing to do would be to expatriate this to 1password. - `home` is declared as Internal despite its wide use within the ecosystem. - `cargo-credential` is declared as Intentional as its an API intended for the wider ecosystem and I didn't see a reason to declare it experimental. - `cargo-platform`, `cargo-util-schemas`, and `crates-io` are declared as Intentional as they are both used internally and intended for others to use for logic that integrates with cargo/registries. I wondered about these being Experimental or Internal instead. --- README.md | 12 +++++++----- benches/benchsuite/README.md | 3 +++ benches/benchsuite/src/lib.rs | 4 ++++ crates/cargo-platform/README.md | 2 ++ crates/cargo-platform/src/lib.rs | 3 +++ crates/cargo-test-macro/README.md | 8 +++----- crates/cargo-test-macro/src/lib.rs | 8 +++----- crates/cargo-test-support/README.md | 8 +++----- crates/cargo-test-support/src/lib.rs | 8 +++----- crates/cargo-util-schemas/README.md | 2 ++ crates/cargo-util-schemas/src/lib.rs | 3 +++ crates/cargo-util/README.md | 3 +++ crates/cargo-util/src/lib.rs | 4 ++++ crates/crates-io/README.md | 2 ++ crates/crates-io/lib.rs | 3 +++ crates/home/README.md | 4 ++++ crates/home/src/lib.rs | 4 ++++ crates/mdman/README.md | 4 ++++ crates/mdman/src/lib.rs | 4 ++++ crates/resolver-tests/README.md | 4 ++++ crates/resolver-tests/src/lib.rs | 4 ++++ crates/rustfix/README.md | 4 ++++ crates/rustfix/src/lib.rs | 4 ++++ credential/cargo-credential-1password/README.md | 5 +++++ credential/cargo-credential-1password/src/main.rs | 5 +++++ credential/cargo-credential-libsecret/README.md | 4 ++++ credential/cargo-credential-libsecret/src/lib.rs | 4 ++++ credential/cargo-credential-macos-keychain/README.md | 4 ++++ .../cargo-credential-macos-keychain/src/lib.rs | 4 ++++ credential/cargo-credential-wincred/README.md | 4 ++++ credential/cargo-credential-wincred/src/lib.rs | 4 ++++ credential/cargo-credential/README.md | 3 +++ credential/cargo-credential/src/lib.rs | 3 +++ src/cargo/lib.rs | 7 ++++--- src/doc/contrib/src/team.md | 9 +++++++++ 35 files changed, 133 insertions(+), 28 deletions(-) create mode 100644 benches/benchsuite/README.md create mode 100644 crates/cargo-platform/README.md create mode 100644 crates/cargo-util-schemas/README.md create mode 100644 crates/cargo-util/README.md create mode 100644 crates/crates-io/README.md diff --git a/README.md b/README.md index 1d806b97864..6afe150ea9e 100644 --- a/README.md +++ b/README.md @@ -9,17 +9,19 @@ Cargo downloads your Rust project’s dependencies and compiles your project. [The Cargo Book]: https://doc.rust-lang.org/cargo/ [Cargo Contributor Guide]: https://rust-lang.github.io/cargo/contrib/ +> The Cargo binary distributed through with Rust is maintained by the Cargo +> team for use by the wider ecosystem. +> For all other uses of this crate (as a binary or library) this is maintained +> by the Cargo team, primarily for use by Cargo and not intended for external +> use (except as a transitive dependency). This crate may make major changes to +> its APIs. + ## Code Status [![CI](https://github.com/rust-lang/cargo/actions/workflows/main.yml/badge.svg?branch=auto-cargo)](https://github.com/rust-lang/cargo/actions/workflows/main.yml) Code documentation: -## Installing Cargo - -Cargo is distributed by default with Rust, so if you've got `rustc` installed -locally you probably also have `cargo` installed locally. - ## Compiling from Source ### Requirements diff --git a/benches/benchsuite/README.md b/benches/benchsuite/README.md new file mode 100644 index 00000000000..ca004d0c62a --- /dev/null +++ b/benches/benchsuite/README.md @@ -0,0 +1,3 @@ +> This crate is maintained by the Cargo team, primarily for use by Cargo +> and not intended for external use. This +> crate may make major changes to its APIs or be deprecated without warning. diff --git a/benches/benchsuite/src/lib.rs b/benches/benchsuite/src/lib.rs index 327c04c4f05..2d85584d513 100644 --- a/benches/benchsuite/src/lib.rs +++ b/benches/benchsuite/src/lib.rs @@ -1,3 +1,7 @@ +//! > This crate is maintained by the Cargo team, primarily for use by Cargo +//! > and not intended for external use. This +//! > crate may make major changes to its APIs or be deprecated without warning. + #![allow(clippy::disallowed_methods)] use cargo::GlobalContext; diff --git a/crates/cargo-platform/README.md b/crates/cargo-platform/README.md new file mode 100644 index 00000000000..844bc081f70 --- /dev/null +++ b/crates/cargo-platform/README.md @@ -0,0 +1,2 @@ +> This crate is maintained by the Cargo team for use by the wider +> ecosystem. This crate follows semver compatibility for its APIs. diff --git a/crates/cargo-platform/src/lib.rs b/crates/cargo-platform/src/lib.rs index 7911e484e57..71e9140bae9 100644 --- a/crates/cargo-platform/src/lib.rs +++ b/crates/cargo-platform/src/lib.rs @@ -6,6 +6,9 @@ //! //! See `examples/matches.rs` for an example of how to match against a `Platform`. //! +//! > This crate is maintained by the Cargo team for use by the wider +//! > ecosystem. This crate follows semver compatibility for its APIs. +//! //! [`Platform`]: enum.Platform.html use std::fmt; diff --git a/crates/cargo-test-macro/README.md b/crates/cargo-test-macro/README.md index 311d5ed6d66..ca004d0c62a 100644 --- a/crates/cargo-test-macro/README.md +++ b/crates/cargo-test-macro/README.md @@ -1,5 +1,3 @@ -WARNING: You might not want to use this outside of Cargo. - -* This is designed for testing Cargo itself. Use at your own risk. -* No guarantee on any stability across versions. -* No feature request would be accepted unless proved useful for testing Cargo. +> This crate is maintained by the Cargo team, primarily for use by Cargo +> and not intended for external use. This +> crate may make major changes to its APIs or be deprecated without warning. diff --git a/crates/cargo-test-macro/src/lib.rs b/crates/cargo-test-macro/src/lib.rs index 2e62f6a32ff..93bf0ec08c6 100644 --- a/crates/cargo-test-macro/src/lib.rs +++ b/crates/cargo-test-macro/src/lib.rs @@ -3,11 +3,9 @@ //! This is meant to be consumed alongside `cargo-test-support`. See //! for a guide on writing tests. //! -//! WARNING: You might not want to use this outside of Cargo. -//! -//! * This is designed for testing Cargo itself. Use at your own risk. -//! * No guarantee on any stability across versions. -//! * No feature request would be accepted unless proved useful for testing Cargo. +//! > This crate is maintained by the Cargo team, primarily for use by Cargo +//! > and not intended for external use. This +//! > crate may make major changes to its APIs or be deprecated without warning. use proc_macro::*; use std::path::Path; diff --git a/crates/cargo-test-support/README.md b/crates/cargo-test-support/README.md index 311d5ed6d66..ca004d0c62a 100644 --- a/crates/cargo-test-support/README.md +++ b/crates/cargo-test-support/README.md @@ -1,5 +1,3 @@ -WARNING: You might not want to use this outside of Cargo. - -* This is designed for testing Cargo itself. Use at your own risk. -* No guarantee on any stability across versions. -* No feature request would be accepted unless proved useful for testing Cargo. +> This crate is maintained by the Cargo team, primarily for use by Cargo +> and not intended for external use. This +> crate may make major changes to its APIs or be deprecated without warning. diff --git a/crates/cargo-test-support/src/lib.rs b/crates/cargo-test-support/src/lib.rs index f9559118200..2f2d43b6a1f 100644 --- a/crates/cargo-test-support/src/lib.rs +++ b/crates/cargo-test-support/src/lib.rs @@ -11,11 +11,9 @@ //! targeted at cargo contributors //! - Updated on each update of the `cargo` submodule in `rust-lang/rust` //! -//! **WARNING:** You might not want to use this outside of Cargo. -//! -//! * This is designed for testing Cargo itself. Use at your own risk. -//! * No guarantee on any stability across versions. -//! * No feature request would be accepted unless proved useful for testing Cargo. +//! > This crate is maintained by the Cargo team, primarily for use by Cargo +//! > and not intended for external use. This +//! > crate may make major changes to its APIs or be deprecated without warning. //! //! # Example //! diff --git a/crates/cargo-util-schemas/README.md b/crates/cargo-util-schemas/README.md new file mode 100644 index 00000000000..844bc081f70 --- /dev/null +++ b/crates/cargo-util-schemas/README.md @@ -0,0 +1,2 @@ +> This crate is maintained by the Cargo team for use by the wider +> ecosystem. This crate follows semver compatibility for its APIs. diff --git a/crates/cargo-util-schemas/src/lib.rs b/crates/cargo-util-schemas/src/lib.rs index 84b6c39a89b..910438155e9 100644 --- a/crates/cargo-util-schemas/src/lib.rs +++ b/crates/cargo-util-schemas/src/lib.rs @@ -4,6 +4,9 @@ //! parsing command-lines. //! Any logic for getting final semantics from these will likely need other tools to process, like //! `cargo metadata`. +//! +//! > This crate is maintained by the Cargo team for use by the wider +//! > ecosystem. This crate follows semver compatibility for its APIs. pub mod core; pub mod manifest; diff --git a/crates/cargo-util/README.md b/crates/cargo-util/README.md new file mode 100644 index 00000000000..579d1a85c1e --- /dev/null +++ b/crates/cargo-util/README.md @@ -0,0 +1,3 @@ +> This crate is maintained by the Cargo team, primarily for use by Cargo +> and not intended for external use (except as a transitive dependency). This +> crate may make major changes to its APIs or be deprecated without warning. diff --git a/crates/cargo-util/src/lib.rs b/crates/cargo-util/src/lib.rs index 717e89ba469..0734118f613 100644 --- a/crates/cargo-util/src/lib.rs +++ b/crates/cargo-util/src/lib.rs @@ -1,4 +1,8 @@ //! Miscellaneous support code used by Cargo. +//! +//! > This crate is maintained by the Cargo team, primarily for use by Cargo +//! > and not intended for external use (except as a transitive dependency). This +//! > crate may make major changes to its APIs or be deprecated without warning. #![allow(clippy::disallowed_methods)] diff --git a/crates/crates-io/README.md b/crates/crates-io/README.md new file mode 100644 index 00000000000..844bc081f70 --- /dev/null +++ b/crates/crates-io/README.md @@ -0,0 +1,2 @@ +> This crate is maintained by the Cargo team for use by the wider +> ecosystem. This crate follows semver compatibility for its APIs. diff --git a/crates/crates-io/lib.rs b/crates/crates-io/lib.rs index 5d8a8c50cc3..ae7f9c4daa3 100644 --- a/crates/crates-io/lib.rs +++ b/crates/crates-io/lib.rs @@ -1,3 +1,6 @@ +//! > This crate is maintained by the Cargo team for use by the wider +//! > ecosystem. This crate follows semver compatibility for its APIs. + use std::collections::BTreeMap; use std::fs::File; use std::io::prelude::*; diff --git a/crates/home/README.md b/crates/home/README.md index a80adbd3b35..23523f9bdb1 100644 --- a/crates/home/README.md +++ b/crates/home/README.md @@ -20,6 +20,10 @@ that Cargo and rustup store their data. See [rust-lang/rust#43321]. +> This crate is maintained by the Cargo team, primarily for use by Cargo and Rustup +> and not intended for external use. This +> crate may make major changes to its APIs or be deprecated without warning. + [rust-lang/rust#43321]: https://github.com/rust-lang/rust/issues/43321 ## License diff --git a/crates/home/src/lib.rs b/crates/home/src/lib.rs index bbe7c32ca84..534ecb2f903 100644 --- a/crates/home/src/lib.rs +++ b/crates/home/src/lib.rs @@ -16,6 +16,10 @@ //! //! See also this [discussion]. //! +//! > This crate is maintained by the Cargo team, primarily for use by Cargo and Rustup +//! > and not intended for external use. This +//! > crate may make major changes to its APIs or be deprecated without warning. +//! //! [discussion]: https://github.com/rust-lang/rust/pull/46799#issuecomment-361156935 #![allow(clippy::disallowed_methods)] diff --git a/crates/mdman/README.md b/crates/mdman/README.md index e28b596ba34..9dc1553ccb0 100644 --- a/crates/mdman/README.md +++ b/crates/mdman/README.md @@ -2,6 +2,10 @@ mdman is a small utility for creating man pages from markdown text files. +> This crate is maintained by the Cargo team, primarily for use by Cargo +> and not intended for external use (except as a transitive dependency). This +> crate may make major changes to its APIs or be deprecated without warning. + ## Usage See the [man page](doc/out/mdman.md) generated by this tool. diff --git a/crates/mdman/src/lib.rs b/crates/mdman/src/lib.rs index f0b5167e80c..0b0e6e734af 100644 --- a/crates/mdman/src/lib.rs +++ b/crates/mdman/src/lib.rs @@ -1,4 +1,8 @@ //! mdman markdown to man converter. +//! +//! > This crate is maintained by the Cargo team, primarily for use by Cargo +//! > and not intended for external use (except as a transitive dependency). This +//! > crate may make major changes to its APIs or be deprecated without warning. use anyhow::{bail, Context, Error}; use pulldown_cmark::{CowStr, Event, LinkType, Options, Parser, Tag, TagEnd}; diff --git a/crates/resolver-tests/README.md b/crates/resolver-tests/README.md index 4f84467bd62..72a4f7e3c5b 100644 --- a/crates/resolver-tests/README.md +++ b/crates/resolver-tests/README.md @@ -5,6 +5,10 @@ This crate aims to test the resolution of Cargo's resolver. It implements a [SAT solver](https://en.wikipedia.org/wiki/SAT_solver) to compare with resolution of Cargo's resolver. This ensures that Cargo's dependency resolution is proven valid by lowering to [SAT problem](https://en.wikipedia.org/wiki/Boolean_satisfiability_problem). +> This crate is maintained by the Cargo team, primarily for use by Cargo +> and not intended for external use (except as a transitive dependency). This +> crate may make major changes to its APIs or be deprecated without warning. + ## About the test The Cargo's resolver is very sensitive to what order it tries to evaluate constraints. This makes it incredibly difficult diff --git a/crates/resolver-tests/src/lib.rs b/crates/resolver-tests/src/lib.rs index aa9c8a56ce8..a3d5dad7344 100644 --- a/crates/resolver-tests/src/lib.rs +++ b/crates/resolver-tests/src/lib.rs @@ -1,3 +1,7 @@ +//! > This crate is maintained by the Cargo team, primarily for use by Cargo +//! > and not intended for external use (except as a transitive dependency). This +//! > crate may make major changes to its APIs or be deprecated without warning. + #![allow(clippy::print_stderr)] use std::cmp::{max, min}; diff --git a/crates/rustfix/README.md b/crates/rustfix/README.md index 0546e6018f9..70ec423c757 100644 --- a/crates/rustfix/README.md +++ b/crates/rustfix/README.md @@ -9,6 +9,10 @@ This is a low-level library. You pass it the JSON output from `rustc`, and you c If you are looking for the [`cargo fix`] implementation, the core of it is located in [`cargo::ops::fix`]. +> This crate is maintained by the Cargo team, primarily for use by Cargo and Rust compiler test suite +> and not intended for external use (except as a transitive dependency). This +> crate may make major changes to its APIs or be deprecated without warning. + [`cargo fix`]: https://doc.rust-lang.org/cargo/commands/cargo-fix.html [`cargo::ops::fix`]: https://github.com/rust-lang/cargo/blob/master/src/cargo/ops/fix.rs diff --git a/crates/rustfix/src/lib.rs b/crates/rustfix/src/lib.rs index 0298e58ce1f..a1e2c47cfeb 100644 --- a/crates/rustfix/src/lib.rs +++ b/crates/rustfix/src/lib.rs @@ -18,6 +18,10 @@ //! 3. Create a [`CodeFix`] with the source of a file to modify. //! 4. Call [`CodeFix::apply`] to apply a change. //! 5. Call [`CodeFix::finish`] to get the result and write it back to disk. +//! +//! > This crate is maintained by the Cargo team, primarily for use by Cargo and Rust compiler test suite +//! > and not intended for external use (except as a transitive dependency). This +//! > crate may make major changes to its APIs or be deprecated without warning. use std::collections::HashSet; use std::ops::Range; diff --git a/credential/cargo-credential-1password/README.md b/credential/cargo-credential-1password/README.md index fc3c9460a56..74bf4c4eeb0 100644 --- a/credential/cargo-credential-1password/README.md +++ b/credential/cargo-credential-1password/README.md @@ -2,6 +2,11 @@ A Cargo [credential provider] for [1password]. +> This crate is maintained by the Cargo team as a part of an experiment around +> 1password integration. We encourage people to try to use this crate in their projects and +> provide feedback through [issues](https://github.com/rust-lang/cargo/issues/), but do not +> guarantee long term maintenance. + ## Usage `cargo-credential-1password` uses the 1password `op` CLI to store the token. You diff --git a/credential/cargo-credential-1password/src/main.rs b/credential/cargo-credential-1password/src/main.rs index 38b567bf2d4..0cb720b36aa 100644 --- a/credential/cargo-credential-1password/src/main.rs +++ b/credential/cargo-credential-1password/src/main.rs @@ -1,4 +1,9 @@ //! Cargo registry 1password credential process. +//! +//! > This crate is maintained by the Cargo team as a part of an experiment around +//! > 1password integration. We encourage people to try to use this crate in their projects and +//! > provide feedback through [issues](https://github.com/rust-lang/cargo/issues/), but do not +//! > guarantee long term maintenance. #![allow(clippy::disallowed_methods)] #![allow(clippy::print_stderr)] diff --git a/credential/cargo-credential-libsecret/README.md b/credential/cargo-credential-libsecret/README.md index aaba2887f41..a6af3b7575a 100644 --- a/credential/cargo-credential-libsecret/README.md +++ b/credential/cargo-credential-libsecret/README.md @@ -5,5 +5,9 @@ See the [credential-provider] documentation for how to use this. This credential provider is built-in to cargo as `cargo:libsecret`. +> This crate is maintained by the Cargo team, primarily for use by Cargo +> and not intended for external use (except as a transitive dependency). This +> crate may make major changes to its APIs or be deprecated without warning. + [GNOME libsecret]: https://wiki.gnome.org/Projects/Libsecret [credential-provider]: https://doc.rust-lang.org/nightly/cargo/reference/registry-authentication.html diff --git a/credential/cargo-credential-libsecret/src/lib.rs b/credential/cargo-credential-libsecret/src/lib.rs index 67452f05be7..0d10fb83689 100644 --- a/credential/cargo-credential-libsecret/src/lib.rs +++ b/credential/cargo-credential-libsecret/src/lib.rs @@ -1,3 +1,7 @@ +//! > This crate is maintained by the Cargo team, primarily for use by Cargo +//! > and not intended for external use (except as a transitive dependency). This +//! > crate may make major changes to its APIs or be deprecated without warning. + #[cfg(target_os = "linux")] mod linux { //! Implementation of the libsecret credential helper. diff --git a/credential/cargo-credential-macos-keychain/README.md b/credential/cargo-credential-macos-keychain/README.md index f5efe496b8f..28cabf4206d 100644 --- a/credential/cargo-credential-macos-keychain/README.md +++ b/credential/cargo-credential-macos-keychain/README.md @@ -5,6 +5,10 @@ See the [credential-provider] documentation for how to use this. This credential provider is built-in to cargo as `cargo:macos-keychain`. +> This crate is maintained by the Cargo team, primarily for use by Cargo +> and not intended for external use (except as a transitive dependency). This +> crate may make major changes to its APIs or be deprecated without warning. + [macOS Keychain]: https://support.apple.com/guide/keychain-access/welcome/mac [credential-provider]: https://doc.rust-lang.org/nightly/cargo/reference/registry-authentication.html diff --git a/credential/cargo-credential-macos-keychain/src/lib.rs b/credential/cargo-credential-macos-keychain/src/lib.rs index 8a702a3620c..f6d253c7a58 100644 --- a/credential/cargo-credential-macos-keychain/src/lib.rs +++ b/credential/cargo-credential-macos-keychain/src/lib.rs @@ -1,4 +1,8 @@ //! Cargo registry macos keychain credential process. +//! +//! > This crate is maintained by the Cargo team, primarily for use by Cargo +//! > and not intended for external use (except as a transitive dependency). This +//! > crate may make major changes to its APIs or be deprecated without warning. #![allow(clippy::print_stderr)] diff --git a/credential/cargo-credential-wincred/README.md b/credential/cargo-credential-wincred/README.md index 1995e9d76cf..0cb6b951270 100644 --- a/credential/cargo-credential-wincred/README.md +++ b/credential/cargo-credential-wincred/README.md @@ -5,5 +5,9 @@ See the [credential-provider] documentation for how to use this. This credential provider is built-in to cargo as `cargo:wincred`. +> This crate is maintained by the Cargo team, primarily for use by Cargo +> and not intended for external use (except as a transitive dependency). This +> crate may make major changes to its APIs or be deprecated without warning. + [Windows Credential Manager]: https://support.microsoft.com/en-us/windows/accessing-credential-manager-1b5c916a-6a16-889f-8581-fc16e8165ac0 [credential-provider]: https://doc.rust-lang.org/nightly/cargo/reference/registry-authentication.html diff --git a/credential/cargo-credential-wincred/src/lib.rs b/credential/cargo-credential-wincred/src/lib.rs index 24b072ee28a..eb6ea390bfc 100644 --- a/credential/cargo-credential-wincred/src/lib.rs +++ b/credential/cargo-credential-wincred/src/lib.rs @@ -1,4 +1,8 @@ //! Cargo registry windows credential process. +//! +//! > This crate is maintained by the Cargo team, primarily for use by Cargo +//! > and not intended for external use (except as a transitive dependency). This +//! > crate may make major changes to its APIs or be deprecated without warning. #[cfg(windows)] mod win { diff --git a/credential/cargo-credential/README.md b/credential/cargo-credential/README.md index d87d41bb8c8..8e4c9f94e74 100644 --- a/credential/cargo-credential/README.md +++ b/credential/cargo-credential/README.md @@ -10,6 +10,9 @@ https://doc.rust-lang.org/nightly/cargo/reference/credential-provider-protocol.h Example implementations may be found at https://github.com/rust-lang/cargo/tree/master/credential +> This crate is maintained by the Cargo team for use by the wider +> ecosystem. This crate follows semver compatibility for its APIs. + ## Usage Create a Cargo project with this as a dependency: diff --git a/credential/cargo-credential/src/lib.rs b/credential/cargo-credential/src/lib.rs index 0888fb402f7..c8e64b983af 100644 --- a/credential/cargo-credential/src/lib.rs +++ b/credential/cargo-credential/src/lib.rs @@ -12,6 +12,9 @@ //! While in the `perform` function, stdin and stdout will be re-attached to the //! active console. This allows credential providers to be interactive if necessary. //! +//! > This crate is maintained by the Cargo team for use by the wider +//! > ecosystem. This crate follows semver compatibility for its APIs. +//! //! ## Error handling //! ### [`Error::UrlNotSupported`] //! A credential provider may only support some registry URLs. If this is the case diff --git a/src/cargo/lib.rs b/src/cargo/lib.rs index 16ed4cfaa3a..7dc25ad14a0 100644 --- a/src/cargo/lib.rs +++ b/src/cargo/lib.rs @@ -7,9 +7,10 @@ //! - : targeted at cargo contributors //! - Updated on each update of the `cargo` submodule in `rust-lang/rust` //! -//! **WARNING:** Using Cargo as a library has drawbacks, particularly the API is unstable, -//! and there is no clear path to stabilize it soon at the time of writing. See [The Cargo Book: -//! External tools] for more on this topic. +//! > This library is maintained by the Cargo team, primarily for use by Cargo +//! > and not intended for external use (except as a transitive dependency). This +//! > crate may make major changes to its APIs. See [The Cargo Book: +//! > External tools] for more on this topic. //! //! ## Overview //! diff --git a/src/doc/contrib/src/team.md b/src/doc/contrib/src/team.md index 74576f3ee86..677138560f0 100644 --- a/src/doc/contrib/src/team.md +++ b/src/doc/contrib/src/team.md @@ -166,6 +166,15 @@ The degree of process is correlated with the degree of change being proposed: [Stable backports]: process/release.md#stable-backports [SemVer chapter]: https://doc.rust-lang.org/cargo/reference/semver.html +## Intentional Artifacts + +Per the [Rust crate ownership policy](https://forge.rust-lang.org/policies/crate-ownership.html), the Cargo team's "Intentional Artifacts" include: + +- [cargo-credential](https://crates.io/crates/cargo-credential) +- [cargo-platform](https://crates.io/crates/cargo-platform) +- [cargo-util-schemas](https://crates.io/crates/cargo-util-schemas) +- [crates-io](https://crates.io/crates/crates-io) + ## Contacting the team The team may be contacted through several channels: