diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs index 58f86aa996dd1..ae67816c03738 100644 --- a/src/bootstrap/src/core/build_steps/dist.rs +++ b/src/bootstrap/src/core/build_steps/dist.rs @@ -103,10 +103,18 @@ impl Step for JsonDocs { /// Builds the `rust-docs-json` installer component. fn run(self, builder: &Builder<'_>) -> Option { let host = self.host; - builder.ensure(crate::core::build_steps::doc::Std::new( + + let crates = builder + .in_tree_crates("sysroot", Some(host)) + .into_iter() + .map(|krate| krate.name.to_string()) + .collect(); + + builder.ensure(crate::core::build_steps::doc::Std::new_with_crates( builder.top_stage, host, DocumentationFormat::Json, + crates, )); let dest = "share/doc/rust/json"; diff --git a/src/bootstrap/src/core/build_steps/doc.rs b/src/bootstrap/src/core/build_steps/doc.rs index 1541396bfdd98..6970b358889f6 100644 --- a/src/bootstrap/src/core/build_steps/doc.rs +++ b/src/bootstrap/src/core/build_steps/doc.rs @@ -567,6 +567,15 @@ impl Std { pub(crate) fn new(stage: u32, target: TargetSelection, format: DocumentationFormat) -> Self { Std { stage, target, format, crates: vec![] } } + + pub(crate) fn new_with_crates( + stage: u32, + target: TargetSelection, + format: DocumentationFormat, + crates: Vec, + ) -> Self { + Std { stage, target, format, crates } + } } impl Step for Std {