Merge pull request #27 from Michael-F-Bryan/linkcheck
Added the mdbook-linkcheck backend
This commit is contained in:
commit
18490f564d
|
|
@ -1,14 +1,11 @@
|
||||||
language: rust
|
language: rust
|
||||||
cache:
|
cache:
|
||||||
- pip
|
|
||||||
- cargo
|
- cargo
|
||||||
install:
|
install:
|
||||||
- source ~/.cargo/env || true
|
- source ~/.cargo/env || true
|
||||||
- bash ci/install.sh
|
- bash ci/install.sh
|
||||||
script:
|
script:
|
||||||
- true
|
- mdbook build
|
||||||
after_success:
|
|
||||||
- bash ci/github_pages.sh
|
|
||||||
notifications:
|
notifications:
|
||||||
email:
|
email:
|
||||||
on_success: never
|
on_success: never
|
||||||
|
|
|
||||||
|
|
@ -25,3 +25,11 @@ for you to talk with someone who **does** know the code, or who wants
|
||||||
to pair with you and figure it out. Then you can work on writing up
|
to pair with you and figure it out. Then you can work on writing up
|
||||||
what you learned.
|
what you learned.
|
||||||
|
|
||||||
|
To help prevent accidentally introducing broken links, we use the
|
||||||
|
`mdbook-linkcheck`. If installed on your machine `mdbook` will automatically
|
||||||
|
invoke this link checker, otherwise it will emit a warning saying it couldn't
|
||||||
|
be found.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cargo install mdbook-linkcheck
|
||||||
|
```
|
||||||
|
|
|
||||||
|
|
@ -3,3 +3,6 @@ title = "Guide to Rustc Development"
|
||||||
author = "Rustc developers"
|
author = "Rustc developers"
|
||||||
description = "A guide to developing rustc "
|
description = "A guide to developing rustc "
|
||||||
|
|
||||||
|
[output.html]
|
||||||
|
|
||||||
|
[output.linkcheck]
|
||||||
|
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
BOOK_DIR=book
|
|
||||||
|
|
||||||
# Only upload the built book to github pages if it's a commit to master
|
|
||||||
if [ "$TRAVIS_BRANCH" = master -a "$TRAVIS_PULL_REQUEST" = false ]; then
|
|
||||||
mdbook build
|
|
||||||
else
|
|
||||||
echo Skipping 'mdbook build' because this is not master or this is just a PR.
|
|
||||||
fi
|
|
||||||
|
|
@ -1,16 +1,17 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
if command -v mdbook >/dev/null 2>&1; then
|
function cargo_install() {
|
||||||
echo "mdbook already installed at $(command -v mdbook)"
|
local name=$1
|
||||||
else
|
local version=$2
|
||||||
echo "installing mdbook"
|
|
||||||
cargo install mdbook --vers "0.0.28"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if command -v ghp-import >/dev/null 2>&1; then
|
if command -v $name >/dev/null 2>&1; then
|
||||||
echo "ghp-import already installed at $(which ghp-import)"
|
echo "$name is already installed at $(command -v $name)"
|
||||||
else
|
else
|
||||||
echo "installing ghp-import"
|
echo "Installing $name"
|
||||||
pip install --user ghp-import
|
cargo install $name --version $version
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
cargo_install mdbook 0.1.1
|
||||||
|
cargo_install mdbook-linkcheck 0.1.0
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ The `rustc_driver` crate, at the top of this lattice, is effectively
|
||||||
the "main" function for the rust compiler. It doesn't have much "real
|
the "main" function for the rust compiler. It doesn't have much "real
|
||||||
code", but instead ties together all of the code defined in the other
|
code", but instead ties together all of the code defined in the other
|
||||||
crates and defines the overall flow of execution. (As we transition
|
crates and defines the overall flow of execution. (As we transition
|
||||||
more and more to the [query model](ty/maps/README.md), however, the
|
more and more to the [query model], however, the
|
||||||
"flow" of compilation is becoming less centrally defined.)
|
"flow" of compilation is becoming less centrally defined.)
|
||||||
|
|
||||||
At the other extreme, the `rustc` crate defines the common and
|
At the other extreme, the `rustc` crate defines the common and
|
||||||
|
|
@ -134,3 +134,6 @@ take:
|
||||||
(one for each "codegen unit").
|
(one for each "codegen unit").
|
||||||
6. **Linking**
|
6. **Linking**
|
||||||
- Finally, those `.o` files are linked together.
|
- Finally, those `.o` files are linked together.
|
||||||
|
|
||||||
|
|
||||||
|
[query model]: query.html
|
||||||
|
|
|
||||||
|
|
@ -158,4 +158,4 @@ TODO
|
||||||
[code_mp]: https://github.com/rust-lang/rust/tree/master/src/libsyntax/ext/tt/macro_parser.rs
|
[code_mp]: https://github.com/rust-lang/rust/tree/master/src/libsyntax/ext/tt/macro_parser.rs
|
||||||
[code_mp]: https://github.com/rust-lang/rust/tree/master/src/libsyntax/ext/tt/macro_rules.rs
|
[code_mp]: https://github.com/rust-lang/rust/tree/master/src/libsyntax/ext/tt/macro_rules.rs
|
||||||
[code_parse_int]: https://github.com/rust-lang/rust/blob/a97cd17f5d71fb4ec362f4fbd79373a6e7ed7b82/src/libsyntax/ext/tt/macro_parser.rs#L421
|
[code_parse_int]: https://github.com/rust-lang/rust/blob/a97cd17f5d71fb4ec362f4fbd79373a6e7ed7b82/src/libsyntax/ext/tt/macro_parser.rs#L421
|
||||||
[parsing]: ./the-parser.md
|
[parsing]: ./the-parser.html
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ is in fact a simple type alias for a reference with `'tcx` lifetime:
|
||||||
pub type Ty<'tcx> = &'tcx TyS<'tcx>;
|
pub type Ty<'tcx> = &'tcx TyS<'tcx>;
|
||||||
```
|
```
|
||||||
|
|
||||||
[the HIR]: ../hir/README.md
|
[the HIR]: ./hir.html
|
||||||
|
|
||||||
You can basically ignore the `TyS` struct -- you will basically never
|
You can basically ignore the `TyS` struct -- you will basically never
|
||||||
access it explicitly. We always pass it by reference using the
|
access it explicitly. We always pass it by reference using the
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ fresh types and things that it will create, as described in
|
||||||
[the README in the ty module][ty-readme]. This arena is created by the `enter`
|
[the README in the ty module][ty-readme]. This arena is created by the `enter`
|
||||||
function and disposed after it returns.
|
function and disposed after it returns.
|
||||||
|
|
||||||
[ty-readme]: src/librustc/ty/README.md
|
[ty-readme]: ty.html
|
||||||
|
|
||||||
Within the closure, the infcx will have the type `InferCtxt<'cx, 'gcx,
|
Within the closure, the infcx will have the type `InferCtxt<'cx, 'gcx,
|
||||||
'tcx>` for some fresh `'cx` and `'tcx` -- the latter corresponds to
|
'tcx>` for some fresh `'cx` and `'tcx` -- the latter corresponds to
|
||||||
|
|
@ -107,7 +107,7 @@ actual return type is not `()`, but rather `InferOk<()>`. The
|
||||||
to ensure that these are fulfilled (typically by enrolling them in a
|
to ensure that these are fulfilled (typically by enrolling them in a
|
||||||
fulfillment context). See the [trait README] for more background here.
|
fulfillment context). See the [trait README] for more background here.
|
||||||
|
|
||||||
[trait README]: ../traits/README.md
|
[trait README]: trait-resolution.html
|
||||||
|
|
||||||
You can also enforce subtyping through `infcx.at(..).sub(..)`. The same
|
You can also enforce subtyping through `infcx.at(..).sub(..)`. The same
|
||||||
basic concepts apply as above.
|
basic concepts apply as above.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue