Skip to content

Commit 3ea3c38

Browse files
committed
create helper fn hex_encode and remove hex dependency
Signed-off-by: onur-ozkan <[email protected]>
1 parent 9d49eb7 commit 3ea3c38

File tree

7 files changed

+16
-13
lines changed

7 files changed

+16
-13
lines changed

src/bootstrap/Cargo.lock

-7
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ dependencies = [
5555
"cmake",
5656
"fd-lock",
5757
"filetime",
58-
"hex",
5958
"home",
6059
"ignore",
6160
"junction",
@@ -313,12 +312,6 @@ version = "0.4.1"
313312
source = "registry+https://github.com/rust-lang/crates.io-index"
314313
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
315314

316-
[[package]]
317-
name = "hex"
318-
version = "0.4.3"
319-
source = "registry+https://github.com/rust-lang/crates.io-index"
320-
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
321-
322315
[[package]]
323316
name = "home"
324317
version = "0.5.4"

src/bootstrap/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ clap = { version = "4.4.7", default-features = false, features = ["std", "usage"
3939
clap_complete = "4.4.3"
4040
cmake = "0.1.38"
4141
filetime = "0.2"
42-
hex = "0.4"
4342
home = "0.5.4"
4443
ignore = "0.4.10"
4544
libc = "0.2.150"

src/bootstrap/src/core/build_steps/setup.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use crate::core::builder::{Builder, RunConfig, ShouldRun, Step};
22
use crate::t;
33
use crate::utils::change_tracker::CONFIG_CHANGE_HISTORY;
4+
use crate::utils::helpers::hex_encode;
45
use crate::Config;
56
use sha2::Digest;
67
use std::env::consts::EXE_SUFFIX;
@@ -566,7 +567,7 @@ fn create_vscode_settings_maybe(config: &Config) -> io::Result<bool> {
566567
if let Ok(current) = fs::read_to_string(&vscode_settings) {
567568
let mut hasher = sha2::Sha256::new();
568569
hasher.update(&current);
569-
let hash = hex::encode(hasher.finalize().as_slice());
570+
let hash = hex_encode(hasher.finalize().as_slice());
570571
if hash == *current_hash {
571572
return Ok(true);
572573
} else if historical_hashes.contains(&hash.as_str()) {

src/bootstrap/src/core/download.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ use std::{
1111
use build_helper::ci::CiEnv;
1212
use xz2::bufread::XzDecoder;
1313

14-
use crate::core::build_steps::llvm::detect_llvm_sha;
1514
use crate::core::config::RustfmtMetadata;
1615
use crate::utils::helpers::{check_run, exe, program_out_of_date};
16+
use crate::{core::build_steps::llvm::detect_llvm_sha, utils::helpers::hex_encode};
1717
use crate::{t, Config};
1818

1919
static SHOULD_FIX_BINS_AND_DYLIBS: OnceLock<bool> = OnceLock::new();
@@ -342,7 +342,7 @@ impl Config {
342342
reader.consume(l);
343343
}
344344

345-
let checksum = hex::encode(hasher.finalize().as_slice());
345+
let checksum = hex_encode(hasher.finalize().as_slice());
346346
let verified = checksum == expected;
347347

348348
if !verified {

src/bootstrap/src/lib.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ use filetime::FileTime;
3434
use sha2::digest::Digest;
3535
use termcolor::{ColorChoice, StandardStream, WriteColor};
3636
use utils::channel::GitInfo;
37+
use utils::helpers::hex_encode;
3738

3839
use crate::core::builder;
3940
use crate::core::builder::Kind;
@@ -1871,7 +1872,7 @@ pub fn generate_smart_stamp_hash(dir: &Path, additional_input: &str) -> String {
18711872
hasher.update(status);
18721873
hasher.update(additional_input);
18731874

1874-
hex::encode(hasher.finalize().as_slice())
1875+
hex_encode(hasher.finalize().as_slice())
18751876
}
18761877

18771878
/// Ensures that the behavior dump directory is properly initialized.

src/bootstrap/src/tests/setup.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
use super::{RUST_ANALYZER_SETTINGS, SETTINGS_HASHES};
2+
use crate::utils::helpers::hex_encode;
23
use sha2::Digest;
34

45
#[test]
56
fn check_matching_settings_hash() {
67
let mut hasher = sha2::Sha256::new();
78
hasher.update(&RUST_ANALYZER_SETTINGS);
8-
let hash = hex::encode(hasher.finalize().as_slice());
9+
let hash = hex_encode(hasher.finalize().as_slice());
910
assert_eq!(
1011
&hash,
1112
SETTINGS_HASHES.last().unwrap(),

src/bootstrap/src/utils/helpers.rs

+8
Original file line numberDiff line numberDiff line change
@@ -548,3 +548,11 @@ pub fn add_rustdoc_cargo_linker_args(
548548
cmd.env("RUSTDOCFLAGS", flags);
549549
}
550550
}
551+
552+
/// Converts `T` into a hexadecimal `String`.
553+
pub fn hex_encode<T>(input: T) -> String
554+
where
555+
T: AsRef<[u8]>,
556+
{
557+
input.as_ref().iter().map(|x| format!("{:02x}", x)).collect()
558+
}

0 commit comments

Comments
 (0)