mirror of
https://github.com/rust-lang/rust-analyzer
synced 2025-01-13 05:38:46 +00:00
Move rm_rf to not-bash
This commit is contained in:
parent
cd956a191f
commit
5acb467894
2 changed files with 23 additions and 9 deletions
|
@ -9,7 +9,7 @@ mod ast_src;
|
||||||
|
|
||||||
use anyhow::Context;
|
use anyhow::Context;
|
||||||
use std::{
|
use std::{
|
||||||
env, fs,
|
env,
|
||||||
io::Write,
|
io::Write,
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
process::{Command, Stdio},
|
process::{Command, Stdio},
|
||||||
|
@ -17,7 +17,7 @@ use std::{
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
codegen::Mode,
|
codegen::Mode,
|
||||||
not_bash::{fs2, pushd, run},
|
not_bash::{fs2, pushd, rm_rf, run},
|
||||||
};
|
};
|
||||||
|
|
||||||
pub use anyhow::Result;
|
pub use anyhow::Result;
|
||||||
|
@ -139,7 +139,7 @@ pub fn run_pre_cache() -> Result<()> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fs::remove_file("./target/.rustc_info.json")?;
|
fs2::remove_file("./target/.rustc_info.json")?;
|
||||||
let to_delete = ["ra_", "heavy_test"];
|
let to_delete = ["ra_", "heavy_test"];
|
||||||
for &dir in ["./target/debug/deps", "target/debug/.fingerprint"].iter() {
|
for &dir in ["./target/debug/deps", "target/debug/.fingerprint"].iter() {
|
||||||
for entry in Path::new(dir).read_dir()? {
|
for entry in Path::new(dir).read_dir()? {
|
||||||
|
@ -153,11 +153,6 @@ pub fn run_pre_cache() -> Result<()> {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn rm_rf(path: &Path) -> Result<()> {
|
|
||||||
if path.is_file() { fs::remove_file(path) } else { fs::remove_dir_all(path) }
|
|
||||||
.with_context(|| format!("failed to remove {:?}", path))
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn run_release(dry_run: bool) -> Result<()> {
|
pub fn run_release(dry_run: bool) -> Result<()> {
|
||||||
if !dry_run {
|
if !dry_run {
|
||||||
run!("git switch release")?;
|
run!("git switch release")?;
|
||||||
|
|
|
@ -4,7 +4,7 @@ use std::{
|
||||||
env,
|
env,
|
||||||
ffi::OsStr,
|
ffi::OsStr,
|
||||||
fs,
|
fs,
|
||||||
path::PathBuf,
|
path::{Path, PathBuf},
|
||||||
process::{Command, Stdio},
|
process::{Command, Stdio},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -31,6 +31,16 @@ pub mod fs2 {
|
||||||
fs::copy(from, to)
|
fs::copy(from, to)
|
||||||
.with_context(|| format!("Failed to copy {} to {}", from.display(), to.display()))
|
.with_context(|| format!("Failed to copy {} to {}", from.display(), to.display()))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn remove_file<P: AsRef<Path>>(path: P) -> Result<()> {
|
||||||
|
let path = path.as_ref();
|
||||||
|
fs::remove_file(path).with_context(|| format!("Failed to remove file {}", path.display()))
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn remove_dir_all<P: AsRef<Path>>(path: P) -> Result<()> {
|
||||||
|
let path = path.as_ref();
|
||||||
|
fs::remove_dir_all(path).with_context(|| format!("Failed to remove dir {}", path.display()))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
macro_rules! _run {
|
macro_rules! _run {
|
||||||
|
@ -64,6 +74,15 @@ pub fn rm(glob: &str) -> Result<()> {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn rm_rf(path: impl AsRef<Path>) -> Result<()> {
|
||||||
|
let path = path.as_ref();
|
||||||
|
if path.is_file() {
|
||||||
|
fs2::remove_file(path)
|
||||||
|
} else {
|
||||||
|
fs2::remove_dir_all(path)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn ls(glob: &str) -> Result<Vec<PathBuf>> {
|
pub fn ls(glob: &str) -> Result<Vec<PathBuf>> {
|
||||||
let cwd = Env::with(|env| env.cwd());
|
let cwd = Env::with(|env| env.cwd());
|
||||||
let mut res = Vec::new();
|
let mut res = Vec::new();
|
||||||
|
|
Loading…
Reference in a new issue