about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-02-05 01:40:13 +0000
committerbors <bors@rust-lang.org>2019-02-05 01:40:13 +0000
commit710ddc151baf9750e074229b8bdc794d63246eb8 (patch)
tree27d7258442d57270077c9e018e11bf5bc3862bf5
parent8ae730a442cc8af6a487a137ae9ba78f89edbba6 (diff)
parent4633cca157d9730d75e3fc6144ae952b76f5559f (diff)
downloadrust-710ddc151baf9750e074229b8bdc794d63246eb8.tar.gz
rust-710ddc151baf9750e074229b8bdc794d63246eb8.zip
Auto merge of #56291 - jamesmunns:upstream-embedded-book, r=steveklabnik
Initial addition of the Embedded Rust Book

This PR adds the Embedded Rust Book to the bookshelf as a submodule, and adds text for the bookshelf page. I have added a new section after "Master Rust" called "Specialize Rust", with the plan that future domain WG books can also reside here. This now extends the titles down to H3, where formerly only H1 and H2 were used.

The added submodule tracks the master branch of the Embedded WG repo.

If there are additional steps necessary to make this work in CI (perhaps adding this to `src/ci/docker/x86_64-gnu-tools/checktools.sh:32` or so?), please let me know.

CC @steveklabnik @japaric

Also CC issue https://github.com/rust-embedded/wg/issues/257
-rw-r--r--.gitmodules3
-rw-r--r--src/bootstrap/builder.rs1
-rw-r--r--src/bootstrap/doc.rs5
-rwxr-xr-xsrc/ci/docker/x86_64-gnu-tools/checktools.sh1
m---------src/doc/embedded-book0
-rw-r--r--src/doc/index.md16
6 files changed, 22 insertions, 4 deletions
diff --git a/.gitmodules b/.gitmodules
index 4e368c3ebaf..d603e457515 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -44,3 +44,6 @@
 	path = src/llvm-project
 	url = https://github.com/rust-lang/llvm-project.git
 	branch = rustc/8.0-2019-01-16
+[submodule "src/doc/embedded-book"]
+	path = src/doc/embedded-book
+	url = https://github.com/rust-embedded/book.git
\ No newline at end of file
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
index 716774632a0..b0d15e6a5df 100644
--- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs
@@ -430,6 +430,7 @@ impl<'a> Builder<'a> {
                 doc::RustByExample,
                 doc::RustcBook,
                 doc::CargoBook,
+                doc::EmbeddedBook,
                 doc::EditionGuide,
             ),
             Kind::Dist => describe!(
diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs
index 08e97396fd6..f1d8fca71cd 100644
--- a/src/bootstrap/doc.rs
+++ b/src/bootstrap/doc.rs
@@ -61,6 +61,7 @@ macro_rules! book {
 // adding a build step in `src/bootstrap/builder.rs`!
 book!(
     EditionGuide, "src/doc/edition-guide", "edition-guide", RustbookVersion::MdBook1;
+    EmbeddedBook, "src/doc/embedded-book", "embedded-book", RustbookVersion::MdBook2;
     Nomicon, "src/doc/nomicon", "nomicon", RustbookVersion::MdBook1;
     Reference, "src/doc/reference", "reference", RustbookVersion::MdBook1;
     RustByExample, "src/doc/rust-by-example", "rust-by-example", RustbookVersion::MdBook1;
@@ -71,10 +72,6 @@ book!(
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
 enum RustbookVersion {
     MdBook1,
-
-    /// Note: Currently no books use mdBook v2, but we want the option
-    /// to be available
-    #[allow(dead_code)]
     MdBook2,
 }
 
diff --git a/src/ci/docker/x86_64-gnu-tools/checktools.sh b/src/ci/docker/x86_64-gnu-tools/checktools.sh
index 2e5b3359501..3343716419f 100755
--- a/src/ci/docker/x86_64-gnu-tools/checktools.sh
+++ b/src/ci/docker/x86_64-gnu-tools/checktools.sh
@@ -23,6 +23,7 @@ python2.7 "$X_PY" test --no-fail-fast \
     src/doc/nomicon \
     src/doc/reference \
     src/doc/rust-by-example \
+    src/doc/embedded-book \
     src/tools/clippy \
     src/tools/rls \
     src/tools/rustfmt \
diff --git a/src/doc/embedded-book b/src/doc/embedded-book
new file mode 160000
+Subproject d663113d1d9fbd35f1145c29f6080a6350b7f41
diff --git a/src/doc/index.md b/src/doc/index.md
index 7bd1854d86f..7a240ac0a42 100644
--- a/src/doc/index.md
+++ b/src/doc/index.md
@@ -117,3 +117,19 @@ Rust. It's also sometimes called "the 'nomicon."
 [The `rustc` Guide](https://rust-lang.github.io/rustc-guide/) documents how
 the compiler works and how to contribute to it. This is useful if you want to build
 or modify the Rust compiler from source (e.g. to target something non-standard).
+
+# Specialize Rust
+
+When using Rust in specific domain areas, consider using the following resources tailored to each domain.
+
+## Embedded Systems
+
+When developing for Bare Metal or Embedded Linux systems, you may find these resources maintained by the [Embedded Working Group] useful.
+
+[Embedded Working Group]: https://github.com/rust-embedded
+
+### The Embedded Rust Book
+
+[The Embedded Rust Book] is targeted at developers familiar with embedded development and familiar with Rust, but have not used Rust for embedded development.
+
+[The Embedded Rust Book]: embedded-book/index.html