diff --git a/crates/extension/src/build_extension.rs b/crates/extension/src/build_extension.rs index 3cbdf7e7a49f3686f60b400e5e1f6d0c23a7109e..877af96248c22e775b3756d54d0c46e901216965 100644 --- a/crates/extension/src/build_extension.rs +++ b/crates/extension/src/build_extension.rs @@ -351,16 +351,19 @@ impl ExtensionBuilder { return Ok(clang_path); } + let mut tar_out_dir = wasi_sdk_dir.clone(); + tar_out_dir.set_extension("archive"); + fs::remove_dir_all(&wasi_sdk_dir).ok(); + fs::remove_dir_all(&tar_out_dir).ok(); let mut response = self.http.get(&url, AsyncBody::default(), true).await?; - - let mut tar_out_dir = wasi_sdk_dir.clone(); - tar_out_dir.set_extension(".output"); let body = BufReader::new(response.body_mut()); let body = GzipDecoder::new(body); let tar = Archive::new(body); - tar.unpack(&tar_out_dir).await?; + tar.unpack(&tar_out_dir) + .await + .context("failed to unpack wasi-sdk archive")?; let inner_dir = fs::read_dir(&tar_out_dir)? .next()