@@ -9,37 +9,37 @@ This is a very high-level overview of the Cargo codebase.
9
9
[ SubCommands] ( subcommands.md ) .
10
10
11
11
* [ ` src/cargo/ops ` ] ( https://github.com/rust-lang/cargo/tree/master/src/cargo/ops )
12
- — Every major operation is implemented here. This is where the binary CLI
12
+ — Every major operation is implemented here. This is where the binary CLI
13
13
usually calls into to perform the appropriate action.
14
14
15
15
* [ ` src/cargo/ops/cargo_compile.rs ` ] ( https://github.com/rust-lang/cargo/blob/master/src/cargo/ops/cargo_compile.rs )
16
- — This is the entry point for all the compilation commands. This is a
16
+ — This is the entry point for all the compilation commands. This is a
17
17
good place to start if you want to follow how compilation starts and
18
18
flows to completion.
19
19
20
20
* [ ` src/cargo/core/resolver ` ] ( https://github.com/rust-lang/cargo/tree/master/src/cargo/core/resolver )
21
- — This is the dependency and feature resolvers.
21
+ — This is the dependency and feature resolvers.
22
22
23
23
* [ ` src/cargo/core/compiler ` ] ( https://github.com/rust-lang/cargo/tree/master/src/cargo/core/compiler )
24
- — This is the code responsible for running ` rustc ` and ` rustdoc ` .
24
+ — This is the code responsible for running ` rustc ` and ` rustdoc ` .
25
25
26
26
* [ ` src/cargo/core/compiler/build_context/mod.rs ` ] ( https://github.com/rust-lang/cargo/blob/master/src/cargo/core/compiler/build_context/mod.rs )
27
- — The ` BuildContext ` is the result of the "front end" of the build
27
+ — The ` BuildContext ` is the result of the "front end" of the build
28
28
process. This contains the graph of work to perform and any settings
29
29
necessary for ` rustc ` . After this is built, the next stage of building
30
30
is handled in ` Context ` .
31
31
32
32
* [ ` src/cargo/core/compiler/context ` ] ( https://github.com/rust-lang/cargo/blob/master/src/cargo/core/compiler/context/mod.rs )
33
- — The ` Context ` is the mutable state used during the build process. This
33
+ — The ` Context ` is the mutable state used during the build process. This
34
34
is the core of the build process, and everything is coordinated through
35
35
this.
36
36
37
37
* [ ` src/cargo/core/compiler/fingerprint.rs ` ] ( https://github.com/rust-lang/cargo/blob/master/src/cargo/core/compiler/fingerprint.rs )
38
- — The ` fingerprint ` module contains all the code that handles detecting
38
+ — The ` fingerprint ` module contains all the code that handles detecting
39
39
if a crate needs to be recompiled.
40
40
41
41
* [ ` src/cargo/core/source ` ] ( https://github.com/rust-lang/cargo/tree/master/src/cargo/core/source )
42
- — The ` Source ` trait is an abstraction over different sources of packages.
42
+ — The ` Source ` trait is an abstraction over different sources of packages.
43
43
Sources are uniquely identified by a ` SourceId ` . Sources are implemented in
44
44
the
45
45
[ ` src/cargo/sources ` ] ( https://github.com/rust-lang/cargo/tree/master/src/cargo/sources )
@@ -56,37 +56,37 @@ This is a very high-level overview of the Cargo codebase.
56
56
though references to it are scattered around for more convenient access.
57
57
58
58
* [ ` src/cargo/util/toml ` ] ( https://github.com/rust-lang/cargo/tree/master/src/cargo/util/toml )
59
- — This directory contains the code for parsing ` Cargo.toml ` files.
59
+ — This directory contains the code for parsing ` Cargo.toml ` files.
60
60
61
61
* [ ` src/cargo/ops/lockfile.rs ` ] ( https://github.com/rust-lang/cargo/blob/master/src/cargo/ops/lockfile.rs )
62
- — This is where ` Cargo.lock ` files are loaded and saved.
62
+ — This is where ` Cargo.lock ` files are loaded and saved.
63
63
64
64
* [ ` src/doc ` ] ( https://github.com/rust-lang/cargo/tree/master/src/doc )
65
- — This directory contains Cargo's documentation and man pages.
65
+ — This directory contains Cargo's documentation and man pages.
66
66
67
67
* [ ` src/etc ` ] ( https://github.com/rust-lang/cargo/tree/master/src/etc )
68
- — These are files that get distributed in the ` etc ` directory in the Rust release.
68
+ — These are files that get distributed in the ` etc ` directory in the Rust release.
69
69
The man pages are auto-generated by a script in the ` src/doc ` directory.
70
70
71
71
* [ ` crates ` ] ( https://github.com/rust-lang/cargo/tree/master/crates )
72
- — A collection of independent crates used by Cargo.
72
+ — A collection of independent crates used by Cargo.
73
73
74
74
## Extra crates
75
75
76
76
Some functionality is split off into separate crates, usually in the
77
77
[ ` crates ` ] ( https://github.com/rust-lang/cargo/tree/master/crates ) directory.
78
78
79
79
* [ ` cargo-platform ` ] ( https://github.com/rust-lang/cargo/tree/master/crates/cargo-platform )
80
- — This library handles parsing ` cfg ` expressions.
80
+ — This library handles parsing ` cfg ` expressions.
81
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
82
+ — This is a proc-macro used by the test suite to define tests. More
83
83
information can be found at [ ` cargo_test `
84
84
attribute] ( ../tests/writing.md#cargo_test-attribute ) .
85
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
86
+ — This contains a variety of code to support [ writing
87
87
tests] ( ../tests/writing.md ) .
88
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
89
+ — This contains general utility code that is shared between cargo and the
90
90
testsuite.
91
91
* [ ` crates-io ` ] ( https://github.com/rust-lang/cargo/tree/master/crates/crates-io )
92
92
— This contains code for accessing the crates.io API.
@@ -100,5 +100,5 @@ Some functionality is split off into separate crates, usually in the
100
100
pages] ( https://github.com/rust-lang/cargo/tree/master/src/doc#building-the-man-pages )
101
101
for more information.
102
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
103
+ — This is a dedicated package that defines tests for the [ dependency
104
104
resolver] ( ../architecture/packages.md#resolver ) .
0 commit comments