From cae93b8427aef0795198e6bb5151913475d10ed7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A1niel=20Buga?= Date: Fri, 26 Sep 2025 17:25:30 +0200 Subject: [PATCH] Clean target folders in examples (#4191) --- xtask/src/main.rs | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 3ad00f16a..a57c6fa69 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -231,21 +231,27 @@ fn clean(workspace: &Path, args: CleanArgs) -> Result<()> { packages.sort(); for package in packages { - log::info!("Cleaning package: {}", package); let path = workspace.join(package.to_string()); + for dir in walkdir::WalkDir::new(path) { + if let Ok(dir) = dir + && let path = dir.path() + && path.join("Cargo.toml").exists() + { + log::info!("Cleaning folder: {}", path.display()); + let cargo_args = CargoArgsBuilder::default() + .subcommand("clean") + .arg("--target-dir") + .arg(path.join("target").display().to_string()) + .build(); - let cargo_args = CargoArgsBuilder::default() - .subcommand("clean") - .arg("--target-dir") - .arg(path.join("target").display().to_string()) - .build(); - - xtask::cargo::run(&cargo_args, &path).with_context(|| { - format!( - "Failed to run `cargo run` with {cargo_args:?} in {}", - path.display() - ) - })?; + xtask::cargo::run(&cargo_args, &path).with_context(|| { + format!( + "Failed to run `cargo run` with {cargo_args:?} in {}", + path.display() + ) + })?; + } + } } Ok(())