lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

commit 90eaea3b890e0c6d54a19810b14e1feafc882186
parent 657801e29b2f719ab42aaaacc48f7f4ba73cd1f1
Author: triesap <tyson@radroots.org>
Date:   Sat,  5 Sep 2026 16:52:15 +0000

fix: preserve rustdoc qualification cache

Diffstat:
Mtools/xtask/src/api_qualification.rs | 27+--------------------------
1 file changed, 1 insertion(+), 26 deletions(-)

diff --git a/tools/xtask/src/api_qualification.rs b/tools/xtask/src/api_qualification.rs @@ -29,15 +29,10 @@ pub fn run(root: &Path) -> Result<(), String> { verify_revision(root, &baseline.revision)?; } for package in &contract.packages { - clear_rustdoc_artifacts(root)?; let args = invocation(&contract, package); eprintln!("cargo {}", args.join(" ")); let status = Command::new("cargo") .args(&args) - // Keep rustdoc-JSON qualification distinct from ordinary `cargo doc` - // artifacts in the extbuild-owned target tree. Cargo otherwise may - // reuse an HTML-only rustdoc fingerprint and leave semver-checks - // without the JSON artifact it requested. .env("CARGO_PROFILE_DEV_DEBUG", "none") .current_dir(root) .status() @@ -49,25 +44,6 @@ pub fn run(root: &Path) -> Result<(), String> { Ok(()) } -fn clear_rustdoc_artifacts(root: &Path) -> Result<(), String> { - let args = rustdoc_cleanup_invocation(); - eprintln!("cargo {}", args.join(" ")); - let status = Command::new("cargo") - .args(args) - .current_dir(root) - .status() - .map_err(|error| format!("failed to start rustdoc cleanup: {error}"))?; - if status.success() { - Ok(()) - } else { - Err("rustdoc cleanup failed before public API qualification".to_owned()) - } -} - -fn rustdoc_cleanup_invocation() -> [&'static str; 2] { - ["clean", "--doc"] -} - fn load(root: &Path) -> Result<Contract, String> { let path = root.join("contracts/releases/api_semver.toml"); let raw = fs::read_to_string(&path) @@ -168,7 +144,7 @@ fn invocation(contract: &Contract, package: &str) -> Vec<String> { #[cfg(test)] mod tests { - use super::{invocation, load, rustdoc_cleanup_invocation, validate}; + use super::{invocation, load, validate}; #[test] fn current_contract_covers_all_library_packages() { @@ -181,6 +157,5 @@ mod tests { let invocation = invocation(&contract, "radroots_core"); assert!(invocation.contains(&"--all-features".to_owned())); assert!(invocation.ends_with(&["--release-type".to_owned(), "major".to_owned()])); - assert_eq!(rustdoc_cleanup_invocation(), ["clean", "--doc"]); } }