Skip to content

Commit

Permalink
Rollup merge of rust-lang#128631 - onur-ozkan:hotfix, r=Mark-Simulacrum
Browse files Browse the repository at this point in the history
handle crates when they are not specified for std docs

Fixes a regression from rust-lang#128182.

Resolves rust-lang#128610
  • Loading branch information
matthiaskrgr committed Aug 4, 2024
2 parents b8b1b22 + 491edbf commit 9710488
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
9 changes: 8 additions & 1 deletion src/bootstrap/src/core/build_steps/dist.rs
Original file line number Diff line number Diff line change
Expand Up @@ -110,11 +110,18 @@ impl Step for JsonDocs {
));

let dest = "share/doc/rust/json";
let out = builder.json_doc_out(host);

// Make sure these are present in the component.
#[cfg(not(feature = "bootstrap-self-test"))]
for f in ["alloc.json", "core.json", "std.json"] {
assert!(out.join(f).exists(), "rust-docs-json is missing `{f}`.");
}

let mut tarball = Tarball::new(builder, "rust-docs-json", &host.triple);
tarball.set_product_name("Rust Documentation In JSON Format");
tarball.is_preview(true);
tarball.add_bulk_dir(builder.json_doc_out(host), dest);
tarball.add_bulk_dir(out, dest);
Some(tarball.generate())
}
}
Expand Down
14 changes: 12 additions & 2 deletions src/bootstrap/src/core/build_steps/doc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -599,6 +599,16 @@ impl Step for Std {
fn run(self, builder: &Builder<'_>) {
let stage = self.stage;
let target = self.target;
let crates = if self.crates.is_empty() {
builder
.in_tree_crates("sysroot", Some(target))
.iter()
.map(|c| c.name.to_string())
.collect()
} else {
self.crates
};

let out = match self.format {
DocumentationFormat::Html => builder.doc_out(target),
DocumentationFormat::Json => builder.json_doc_out(target),
Expand Down Expand Up @@ -627,7 +637,7 @@ impl Step for Std {
extra_args.push("--disable-minification");
}

doc_std(builder, self.format, stage, target, &out, &extra_args, &self.crates);
doc_std(builder, self.format, stage, target, &out, &extra_args, &crates);

// Don't open if the format is json
if let DocumentationFormat::Json = self.format {
Expand All @@ -639,7 +649,7 @@ impl Step for Std {
let index = out.join("std").join("index.html");
builder.open_in_browser(index);
} else {
for requested_crate in &*self.crates {
for requested_crate in crates {
if STD_PUBLIC_CRATES.iter().any(|&k| k == requested_crate) {
let index = out.join(requested_crate).join("index.html");
builder.open_in_browser(index);
Expand Down

0 comments on commit 9710488

Please sign in to comment.