Skip to content

Commit

Permalink
Auto merge of #14600 - epage:charter-crates, r=weihanglo
Browse files Browse the repository at this point in the history
docs: Declare support level for each crate in our Charter / docs

### What does this PR try to resolve?

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` does not have a status specified on it.  `cargo install cargo` shouldn't be done and `cargo add cargo` is "internal" but putting in our README that Cargo is "internal" feels weird from a messaging perspective.
- `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.

### How should we test and review this PR?

I was mixed on what to do with unpublished crates (and didn't fully check what all is unpublished).
I ended up only skipping xtasks.

### Additional information
  • Loading branch information
bors committed Oct 2, 2024
2 parents d9c14e6 + 5c87c14 commit 2652990
Show file tree
Hide file tree
Showing 40 changed files with 145 additions and 40 deletions.
16 changes: 8 additions & 8 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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: <https://doc.rust-lang.org/nightly/nightly-rustc/cargo/>

## 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
Expand Down
3 changes: 3 additions & 0 deletions benches/benchsuite/README.md
Original file line number Diff line number Diff line change
@@ -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.
4 changes: 4 additions & 0 deletions benches/benchsuite/src/lib.rs
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
2 changes: 1 addition & 1 deletion crates/cargo-platform/Cargo.toml
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 2 additions & 0 deletions crates/cargo-platform/README.md
Original file line number Diff line number Diff line change
@@ -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.
3 changes: 3 additions & 0 deletions crates/cargo-platform/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
8 changes: 3 additions & 5 deletions crates/cargo-test-macro/README.md
Original file line number Diff line number Diff line change
@@ -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.
8 changes: 3 additions & 5 deletions crates/cargo-test-macro/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,9 @@
//! This is meant to be consumed alongside `cargo-test-support`. See
//! <https://rust-lang.github.io/cargo/contrib/> 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;
Expand Down
8 changes: 3 additions & 5 deletions crates/cargo-test-support/README.md
Original file line number Diff line number Diff line change
@@ -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.
8 changes: 3 additions & 5 deletions crates/cargo-test-support/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
//!
Expand Down
2 changes: 2 additions & 0 deletions crates/cargo-util-schemas/README.md
Original file line number Diff line number Diff line change
@@ -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.
3 changes: 3 additions & 0 deletions crates/cargo-util-schemas/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
3 changes: 3 additions & 0 deletions crates/cargo-util/README.md
Original file line number Diff line number Diff line change
@@ -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.
4 changes: 4 additions & 0 deletions crates/cargo-util/src/lib.rs
Original file line number Diff line number Diff line change
@@ -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)]

Expand Down
2 changes: 2 additions & 0 deletions crates/crates-io/README.md
Original file line number Diff line number Diff line change
@@ -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.
3 changes: 3 additions & 0 deletions crates/crates-io/lib.rs
Original file line number Diff line number Diff line change
@@ -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::*;
Expand Down
4 changes: 4 additions & 0 deletions crates/home/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 4 additions & 0 deletions crates/home/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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)]
Expand Down
4 changes: 4 additions & 0 deletions crates/mdman/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
4 changes: 4 additions & 0 deletions crates/mdman/src/lib.rs
Original file line number Diff line number Diff line change
@@ -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};
Expand Down
4 changes: 4 additions & 0 deletions crates/resolver-tests/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 4 additions & 0 deletions crates/resolver-tests/src/lib.rs
Original file line number Diff line number Diff line change
@@ -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};
Expand Down
2 changes: 1 addition & 1 deletion crates/rustfix/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "rustfix"
version = "0.8.6"
version = "0.8.7"
authors = [
"Pascal Hertleif <[email protected]>",
"Oliver Schneider <[email protected]>",
Expand Down
4 changes: 4 additions & 0 deletions crates/rustfix/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
4 changes: 4 additions & 0 deletions crates/rustfix/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion credential/cargo-credential-1password/Cargo.toml
Original file line number Diff line number Diff line change
@@ -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
Expand Down
5 changes: 5 additions & 0 deletions credential/cargo-credential-1password/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 5 additions & 0 deletions credential/cargo-credential-1password/src/main.rs
Original file line number Diff line number Diff line change
@@ -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)]
Expand Down
4 changes: 4 additions & 0 deletions credential/cargo-credential-libsecret/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 4 additions & 0 deletions credential/cargo-credential-libsecret/src/lib.rs
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
4 changes: 4 additions & 0 deletions credential/cargo-credential-macos-keychain/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

4 changes: 4 additions & 0 deletions credential/cargo-credential-macos-keychain/src/lib.rs
Original file line number Diff line number Diff line change
@@ -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)]

Expand Down
4 changes: 4 additions & 0 deletions credential/cargo-credential-wincred/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 4 additions & 0 deletions credential/cargo-credential-wincred/src/lib.rs
Original file line number Diff line number Diff line change
@@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion credential/cargo-credential/Cargo.toml
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Loading

0 comments on commit 2652990

Please sign in to comment.