Skip to content

Commit

Permalink
Don't generate more docs than necessary
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed May 15, 2021
1 parent fe62c6e commit b9b67b7
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 10 deletions.
31 changes: 22 additions & 9 deletions src/bootstrap/doc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -451,6 +451,22 @@ impl Step for Std {

builder.run(&mut cargo.into());
};

let paths = builder
.paths
.iter()
.map(components_simplified)
.filter_map(|path| {
if path.get(0) == Some(&"library") {
Some(path[1].to_owned())
} else if !path.is_empty() {
Some(path[0].to_owned())
} else {
None
}
})
.collect::<Vec<_>>();

// Only build the following crates. While we could just iterate over the
// folder structure, that would also build internal crates that we do
// not want to show in documentation. These crates will later be visited
Expand All @@ -464,20 +480,17 @@ impl Step for Std {
let krates = ["core", "alloc", "std", "proc_macro", "test"];
for krate in &krates {
run_cargo_rustdoc_for(krate);
if paths.iter().any(|p| p == krate) {
// No need to document more of the libraries if we have the one we want.
break;
}
}
builder.cp_r(&out_dir, &out);

// Look for library/std, library/core etc in the `x.py doc` arguments and
// open the corresponding rendered docs.
for path in builder.paths.iter().map(components_simplified) {
let requested_crate = if path.get(0) == Some(&"library") {
&path[1]
} else if !path.is_empty() {
&path[0]
} else {
continue;
};
if krates.contains(&requested_crate) {
for requested_crate in paths {
if krates.iter().any(|k| *k == requested_crate.as_str()) {
let index = out.join(requested_crate).join("index.html");
open(builder, &index);
}
Expand Down
2 changes: 1 addition & 1 deletion src/ci/docker/host-x86_64/mingw-check/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ ENV SCRIPT python3 ../x.py --stage 2 test src/tools/expand-yaml-anchors && \
python3 ../x.py build --stage 0 src/tools/build-manifest && \
python3 ../x.py test --stage 0 src/tools/compiletest && \
python3 ../x.py test --stage 2 src/tools/tidy && \
python3 ../x.py doc --stage 0 library/std && \
python3 ../x.py doc --stage 0 library/test && \
/scripts/validate-toolstate.sh && \
# Runs checks to ensure that there are no ES5 issues in our JS code.
es-check es5 ../src/librustdoc/html/static/*.js

0 comments on commit b9b67b7

Please sign in to comment.