Open jieyouxu opened 3 weeks ago
For convenience, there could be run_make_support::fs::remove_symlink
that, on Windows, checks whether the symlink is a file or dir and uses the right remove function automagically.
Or the run-make remove_file
function could lean in to people's expectations and test if the file is a is_symlink_dir
and use the std remove_dir
function.
I need to revisit
run_make_support::fs::create_symlink
because it's a wrong abstraction: there's a good reason whysymlink_file
/symlink_dir
are different operations understd::os::windows::fs
.Furthermore, I need to double-check our symlink handling in rmake.rs tests. It's ok if symlinks are removed via
fs::remove_dir_all
because that has special handling for symlinks on Windows, but need to be extra careful if symlinks are attempted to be removed withfs::{remove_file, remove_dir}
if the test can be run on Windows.