diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ffdb8ab7473d6f4e4f1a6406509acefa7a4631d7..2a5d7af9550c8b2333ccbdd9d50c5971dbaaa386 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,5 +1,4 @@ - -fail_fast: false +fail_fast: true repos: - repo: "https://hub.fastgit.org/pre-commit/pre-commit-hooks.git" rev: v4.0.1 diff --git a/src/init/Cargo.toml b/src/init/Cargo.toml index a4b70ba8e3844fcdf1f551e1455271e8203558f8..3452b8b485e398a9bb065f32d245c880552de6e2 100644 --- a/src/init/Cargo.toml +++ b/src/init/Cargo.toml @@ -6,6 +6,8 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +build = "build.rs" + [dependencies] nix = "0.23.0" -signal-hook-registry = "1.4.0" \ No newline at end of file +signal-hook-registry = "1.4.0" diff --git a/src/init/build.rs b/src/init/build.rs new file mode 100644 index 0000000000000000000000000000000000000000..62466882e72cf737e24659b62dc5bbc96a5b1f5e --- /dev/null +++ b/src/init/build.rs @@ -0,0 +1,17 @@ +// build.rs + +use std::process::Command; + +fn main() { + //默认安装 pre-commit 命令 + let _ = Command::new("pre-commit") + .arg("--version") + .output() + .unwrap_or_else(|_e| { + Command::new("pip") + .args(["install", "--force-reinstall", "pre-commit"]) + .output() + .unwrap(); + Command::new("pre-commit").arg("install").output().unwrap() + }); +}