From b64260eb81930b4e90ff6c502d1b3c2ecf93a7a4 Mon Sep 17 00:00:00 2001
From: onur-ozkan <work@onurozkan.dev>
Date: Sun, 4 Aug 2024 16:54:20 +0300
Subject: [PATCH] assert expected json files in `rust-docs-json` component

Signed-off-by: onur-ozkan <work@onurozkan.dev>
---
 src/bootstrap/src/core/build_steps/dist.rs | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs
index 58f86aa996dd1..adeb7e9a0d233 100644
--- a/src/bootstrap/src/core/build_steps/dist.rs
+++ b/src/bootstrap/src/core/build_steps/dist.rs
@@ -110,11 +110,17 @@ 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.
+        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())
     }
 }