@@ -9,20 +9,20 @@ Today it is my pleasure to announce that [crates.io](https://crates.io/) is
9
9
online and ready for action. The site is a central location to
10
10
discover/download Rust crates, and Cargo is ready to start publishing to it
11
11
today. For the next few months, we are asking that intrepid early adopters
12
- [ help us] ( http ://doc.crates.io/crates-io.html) get the registry battle-tested.
12
+ [ help us] ( https ://doc.crates.io/crates-io.html) get the registry battle-tested.
13
13
14
14
Until Rust itself is stable early next year, registry dependencies will need to
15
15
be updated often. Production users may want to continue using git dependencies
16
16
until then.
17
17
18
18
## What is Cargo?
19
19
20
- Cargo is a package manager [ for Rust] ( http ://www.rust-lang.org/) , [ in
20
+ Cargo is a package manager [ for Rust] ( https ://www.rust-lang.org/) , [ in
21
21
Rust] ( https://github.com/rust-lang/cargo ) . Managing dependencies is a
22
22
fundamentally difficult problem, but fortunately over the last decade there's
23
23
been a lot of progress in the design of package managers. Designed by Carl
24
24
Lerche and Yehuda Katz, Cargo follows the tradition of successes like
25
- [ Bundler] ( http ://bundler.io/) and [ NPM] ( https://www.npmjs.org/ ) :
25
+ [ Bundler] ( https ://bundler.io/) and [ NPM] ( https://www.npmjs.org/ ) :
26
26
27
27
1 . Cargo leverages crates.io to foster a thriving community of crates that can
28
28
easily interoperate with one another and last for years to come.
@@ -42,7 +42,7 @@ its core mechanics.
42
42
43
43
Cargo makes depending on third-party code as easy as depending on the standard
44
44
library. When using Cargo, each crate will have an associated
45
- [ manifest] ( http ://doc.crates.io/manifest.html) to describe itself and its
45
+ [ manifest] ( https ://doc.crates.io/manifest.html) to describe itself and its
46
46
dependencies. Adding a new dependency is now as simple as adding one line to the
47
47
manifest, and this ease has allowed Cargo in just a few short months to enable a
48
48
large and growing network of Rust projects and libraries which were simply
@@ -62,19 +62,19 @@ have largely just downloaded dependencies directly from the source GitHub
62
62
repository, but the primary source will now be shifting to crates.io.
63
63
64
64
Other programming language communities have been quite successful with this form
65
- of central repository. For example [ rubygems.org] ( http ://rubygems.org/) is your
66
- one-stop-shop for [ Bundler] ( http ://bundler.io/) dependencies and
65
+ of central repository. For example [ rubygems.org] ( https ://rubygems.org/) is your
66
+ one-stop-shop for [ Bundler] ( https ://bundler.io/) dependencies and
67
67
[ npmjs.org] ( https://www.npmjs.org/ ) has had over 600 million downloads in just
68
68
this month alone! We intend for crates.io to serve a similar role for Rust as a
69
69
critical piece of infrastructure for [ Rust's long-term stability story at
70
70
1.0] [ stab ] .
71
71
72
- [ stab ] : http ://blog.rust-lang.org/2014/10/30/Stability.html
72
+ [ stab ] : https ://blog.rust-lang.org/2014/10/30/Stability.html
73
73
74
74
## Versioning and Reproducible Builds
75
75
76
76
Over the past few years, the concept of [ Semantic
77
- Versioning] ( http ://semver.org/) has gained traction as a way for library
77
+ Versioning] ( https ://semver.org/) has gained traction as a way for library
78
78
developers to easily and clearly communicate with users when they make breaking
79
79
changes. The core idea of semantic versioning is simple: each new release is
80
80
categorized as a minor or major release, and only major releases can introduce
@@ -93,7 +93,7 @@ then distributed to collaborators of applications to ensure that the crates
93
93
being built remain the same from one build to the next, across times, machines,
94
94
and environments.
95
95
96
- [ lock ] : http ://doc.crates.io/guide.html#cargo.toml-vs-cargo.lock
96
+ [ lock ] : https ://doc.crates.io/guide.html#cargo.toml-vs-cargo.lock
97
97
98
98
## Building Code
99
99
@@ -114,7 +114,7 @@ provide some nice standard features as well as some Rust-specific features:
114
114
115
115
* Cargo generates documentation for all crates in a dependency graph, and it can
116
116
even run [ Rust's documentation
117
- tests] ( http ://doc.rust-lang.org/rustdoc.html#testing-the-documentation) to
117
+ tests] ( https ://doc.rust-lang.org/rustdoc.html#testing-the-documentation) to
118
118
ensure examples in documentation stay up to date.
119
119
120
120
* Cargo can run a [ build script] [ build-scripts ] before any crate is compiled to
@@ -125,7 +125,7 @@ provide some nice standard features as well as some Rust-specific features:
125
125
simply specifying a ` --target ` options and Cargo will manage tasks such as
126
126
compiling plugins and other build dependencies for the right platform.
127
127
128
- [ build-scripts ] : http ://doc.crates.io/build-script.html
128
+ [ build-scripts ] : https ://doc.crates.io/build-script.html
129
129
130
130
## What else is in store?
131
131
@@ -135,7 +135,7 @@ stable compiler, which should be [coming soon][road-to-1]! There are also a
135
135
number of extensions to crates.io such as a hosted documentation service or a CI
136
136
build infrastructure hook which could be built out using the crates.io APIs.
137
137
138
- [ road-to-1 ] : http ://blog.rust-lang.org/2014/09/15/Rust-1.0.html
138
+ [ road-to-1 ] : https ://blog.rust-lang.org/2014/09/15/Rust-1.0.html
139
139
140
140
This is just the beginning for crates.io, and I'm excited to start finding all
141
141
Rust crates from one location. I can't wait to see what the registry looks like
0 commit comments