mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-25 11:14:46 +00:00
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.
This commit is contained in:
parent
d199f2e97c
commit
5c87c14f9a
12
README.md
12
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
|
||||
|
||||
[](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
|
||||
|
3
benches/benchsuite/README.md
Normal file
3
benches/benchsuite/README.md
Normal file
@ -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.
|
@ -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;
|
||||
|
2
crates/cargo-platform/README.md
Normal file
2
crates/cargo-platform/README.md
Normal file
@ -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.
|
@ -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;
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
//!
|
||||
|
2
crates/cargo-util-schemas/README.md
Normal file
2
crates/cargo-util-schemas/README.md
Normal file
@ -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.
|
@ -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;
|
||||
|
3
crates/cargo-util/README.md
Normal file
3
crates/cargo-util/README.md
Normal file
@ -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.
|
@ -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)]
|
||||
|
||||
|
2
crates/crates-io/README.md
Normal file
2
crates/crates-io/README.md
Normal file
@ -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.
|
@ -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::*;
|
||||
|
@ -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
|
||||
|
@ -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)]
|
||||
|
@ -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.
|
||||
|
@ -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};
|
||||
|
@ -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
|
||||
|
@ -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};
|
||||
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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)]
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -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)]
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 {
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -7,9 +7,10 @@
|
||||
//! - <https://doc.rust-lang.org/nightly/nightly-rustc/cargo>: 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
|
||||
//!
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user