mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-04 18:40:57 +03:00
21e9889306
compiler & tools dependencies:
Locking 28 packages to latest compatible versions
Updating anyhow v1.0.98 -> v1.0.99
Updating bitflags v2.9.1 -> v2.9.2
Updating clap v4.5.43 -> v4.5.45
Updating clap_builder v4.5.43 -> v4.5.44
Updating clap_derive v4.5.41 -> v4.5.45
Updating curl v0.4.48 -> v0.4.49
Updating curl-sys v0.4.82+curl-8.14.1 -> v0.4.83+curl-8.15.0
Updating cxx v1.0.166 -> v1.0.168
Updating cxx-build v1.0.166 -> v1.0.168
Updating cxxbridge-cmd v1.0.166 -> v1.0.168
Updating cxxbridge-flags v1.0.166 -> v1.0.168
Updating cxxbridge-macro v1.0.166 -> v1.0.168
Updating glob v0.3.2 -> v0.3.3
Updating object v0.37.2 -> v0.37.3
Updating proc-macro2 v1.0.95 -> v1.0.101
Updating rayon v1.10.0 -> v1.11.0
Updating rayon-core v1.12.1 -> v1.13.0
Updating serde-untagged v0.1.7 -> v0.1.8
Updating socket2 v0.5.10 -> v0.6.0
Updating syn v2.0.104 -> v2.0.106
Updating thiserror v2.0.12 -> v2.0.15
Updating thiserror-impl v2.0.12 -> v2.0.15
Updating uuid v1.17.0 -> v1.18.0
Updating wasm-encoder v0.236.0 -> v0.236.1
Updating wasmparser v0.236.0 -> v0.236.1
Updating wast v236.0.0 -> v236.0.1
Updating wat v1.236.0 -> v1.236.1
note: pass `--verbose` to see 35 unchanged dependencies behind latest
library dependencies:
Locking 2 packages to latest compatible versions
Updating libc v0.2.174 -> v0.2.175
Updating object v0.37.2 -> v0.37.3
note: pass `--verbose` to see 2 unchanged dependencies behind latest
rustbook dependencies:
Locking 13 packages to latest compatible versions
Updating anyhow v1.0.98 -> v1.0.99
Updating bitflags v2.9.1 -> v2.9.2
Updating cc v1.2.32 -> v1.2.33
Updating clap v4.5.43 -> v4.5.45
Updating clap_builder v4.5.43 -> v4.5.44
Updating clap_complete v4.5.56 -> v4.5.57
Updating clap_derive v4.5.41 -> v4.5.45
Updating proc-macro2 v1.0.95 -> v1.0.101
Updating syn v2.0.104 -> v2.0.106
Updating terminal_size v0.4.2 -> v0.4.3
Updating thiserror v2.0.12 -> v2.0.15
Updating thiserror-impl v2.0.12 -> v2.0.15
Rustbook
This is a wrapper around mdbook, which is used to generate the book-style documentation in the Rust project. This wrapper serves a few purposes:
- Avoids some of mdbook's large, optional dependencies (like tokio, webserver, etc.).
- Makes it a little easier to customize and override some of mdbook's behaviors (like swapping in custom preprocessors).
- Supports vendoring of the source via Rust's normal release process.
This is invoked automatically when building mdbook-style documentation, for example via ./x doc.
Cargo workspace
This package defines a separate cargo workspace from the main Rust workspace for a few reasons (ref #127786:
- Avoids requiring checking out submodules for developers who are not working on the documentation. Otherwise, some submodules such as those that have custom preprocessors would be required for cargo to find the dependencies.
- Avoids problems with updating dependencies. Unfortunately this workspace has a rather large set of dependencies, which can make coordinating updates difficult (see #127890).
Custom preprocessors
Some books have custom mdbook preprocessors that need to be integrated with both the book's repository, and the build system here in the rust-lang/rust repository. To add a new preprocessor, there are few things to do:
- Implement the preprocessor as a cargo library in the book's repository.
- Add the
[preprocessor]table to the book'sbook.tomlfile. I recommend setting the command so that the preprocessor gets built automatically. It may look something like:
[preprocessor.spec]
command = "cargo run --manifest-path my-cool-extension/Cargo.toml"
[build]
extra-watch-dirs = ["my-cool-extension/src"]
- Add the preprocessor as a dependency in rustbook's
Cargo.toml. - Call
with_preprocessorinrustbook/src/main.rs. - Be sure to test that it generates correctly, such as running
./x doc MY-BOOK-NAME --openand verify the content looks correct. - Also test tidy and your book, such as running
./x test tidyand./x test MY-BOOK-NAME.