Skip to content

Commit b3d9223

Browse files
committed
Document the other crates in the codebase in the contrib guide.
1 parent 6701e33 commit b3d9223

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

src/doc/contrib/src/architecture/codebase.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,35 @@ This is a very high-level overview of the Cargo codebase.
7070

7171
* [`crates`](https://github.com/rust-lang/cargo/tree/master/crates)
7272
— A collection of independent crates used by Cargo.
73+
74+
## Extra crates
75+
76+
Some functionality is split off into separate crates, usually in the
77+
[`crates`](https://github.com/rust-lang/cargo/tree/master/crates) directory.
78+
79+
* [`cargo-platform`](https://github.com/rust-lang/cargo/tree/master/crates/cargo-platform)
80+
— This library handles parsing `cfg` expressions.
81+
* [`cargo-test-macro`](https://github.com/rust-lang/cargo/tree/master/crates/cargo-test-macro)
82+
— This is a proc-macro used by the test suite to define tests. More
83+
information can be found at [`cargo_test`
84+
attribute](../tests/writing.md#cargo_test-attribute).
85+
* [`cargo-test-support`](https://github.com/rust-lang/cargo/tree/master/crates/cargo-test-support)
86+
— This contains a variety of code to support [writing
87+
tests](../tests/writing.md).
88+
* [`cargo-util`](https://github.com/rust-lang/cargo/tree/master/crates/cargo-util)
89+
— This contains general utility code that is shared between cargo and the
90+
testsuite.
91+
* [`crates-io`](https://github.com/rust-lang/cargo/tree/master/crates/crates-io)
92+
— This contains code for accessing the crates.io API.
93+
* [`credential`](https://github.com/rust-lang/cargo/tree/master/crates/credential)
94+
— This subdirectory contains several packages for implementing the
95+
experimental
96+
[credential-process](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#credential-process)
97+
feature.
98+
* [`mdman`](https://github.com/rust-lang/cargo/tree/master/crates/mdman)
99+
This is a utility for generating cargo's man pages. See [Building the man
100+
pages](https://github.com/rust-lang/cargo/tree/master/src/doc#building-the-man-pages)
101+
for more information.
102+
* [`resolver-tests`](https://github.com/rust-lang/cargo/tree/master/crates/resolver-tests)
103+
— This is a dedicated package that defines tests for the [dependency
104+
resolver](../architecture/packages.md#resolver).

0 commit comments

Comments
 (0)