diff --git a/clippy_dev/Cargo.toml b/clippy_dev/Cargo.toml
index d133e8cddab..449ab1e9c7a 100644
--- a/clippy_dev/Cargo.toml
+++ b/clippy_dev/Cargo.toml
@@ -11,6 +11,7 @@ itertools = "0.10.1"
opener = "0.5"
regex = "1.5"
shell-escape = "0.1"
+tempfile = "3.3"
walkdir = "2.3"
cargo_metadata = "0.14"
diff --git a/clippy_dev/src/bless.rs b/clippy_dev/src/bless.rs
index b0fb39e8169..8e5c739afe0 100644
--- a/clippy_dev/src/bless.rs
+++ b/clippy_dev/src/bless.rs
@@ -1,22 +1,15 @@
//! `bless` updates the reference files in the repo with changed output files
//! from the last test run.
+use crate::cargo_clippy_path;
use std::ffi::OsStr;
use std::fs;
use std::lazy::SyncLazy;
use std::path::{Path, PathBuf};
use walkdir::{DirEntry, WalkDir};
-#[cfg(not(windows))]
-static CARGO_CLIPPY_EXE: &str = "cargo-clippy";
-#[cfg(windows)]
-static CARGO_CLIPPY_EXE: &str = "cargo-clippy.exe";
-
-static CLIPPY_BUILD_TIME: SyncLazy