Skip to content

Commit 5ff1539

Browse files
committed
delete directory only for the toplevel package
1 parent 1135fcc commit 5ff1539

1 file changed

Lines changed: 13 additions & 4 deletions

File tree

compiler-cli/src/dependencies.rs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -304,10 +304,19 @@ pub fn cleanup<Telem: Telemetry>(paths: &ProjectPaths, telemetry: Telem) -> Resu
304304
let changes = PackageChanges::between_manifests(&old_manifest, &manifest);
305305
telemetry.resolved_package_versions(&changes);
306306

307-
// Invalidate build caches after removing package. This deletes the entire
308-
// build directory.
309-
let build_directory_path = paths.build_directory();
310-
fs::delete_directory(build_directory_path.as_ref())?;
307+
// Invalidate build caches after removing package
308+
let target = config.target;
309+
let name = config.name.clone();
310+
311+
// We need to clean build directory for the top level package for both dev
312+
// and prod modes
313+
for mode in [Mode::Dev, Mode::Prod] {
314+
let lock = BuildLock::new_target(paths, mode, target)?;
315+
let _guard = lock.lock(&telemetry)?;
316+
317+
let build_directory_path = paths.build_directory_for_package(mode, target, &name);
318+
fs::delete_directory(build_directory_path.as_ref())?;
319+
}
311320

312321
Ok(manifest)
313322
}

0 commit comments

Comments
 (0)