diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ff72fd6a2..c55d24207 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -105,7 +105,7 @@ jobs: toolchain: stable - name: Format - run: ./bin/format_exercises + run: ./bin/format_exercises.sh - name: Diff run: | diff --git a/rust-tooling/Cargo.lock b/rust-tooling/Cargo.lock index a8ca4639c..8e4063cf5 100644 --- a/rust-tooling/Cargo.lock +++ b/rust-tooling/Cargo.lock @@ -199,13 +199,13 @@ version = "0.1.0" dependencies = [ "convert_case", "glob", + "ignore", "inquire", "once_cell", "serde", "serde_json", "tera", "uuid", - "walkdir", ] [[package]] diff --git a/rust-tooling/Cargo.toml b/rust-tooling/Cargo.toml index b4b250532..8d66f49e4 100644 --- a/rust-tooling/Cargo.toml +++ b/rust-tooling/Cargo.toml @@ -8,10 +8,10 @@ edition = "2021" [dependencies] convert_case = "0.6.0" glob = "0.3.1" +ignore = "0.4.20" inquire = "0.6.2" once_cell = "1.18.0" serde = { version = "1.0.188", features = ["derive"] } serde_json = "1.0.105" tera = "1.19.1" uuid = { version = "1.4.1", features = ["v4"] } -walkdir = "2.3.3" diff --git a/rust-tooling/src/problem_spec.rs b/rust-tooling/src/problem_spec.rs index 58b5437fc..073b8ba97 100644 --- a/rust-tooling/src/problem_spec.rs +++ b/rust-tooling/src/problem_spec.rs @@ -54,8 +54,7 @@ pub fn get_canonical_data(slug: &str) -> CanonicalData { #[test] fn test_deserialize_canonical_data() { crate::fs_utils::cd_into_repo_root(); - for entry in walkdir::WalkDir::new("problem-specifications/exercises") - .into_iter() + for entry in ignore::Walk::new("problem-specifications/exercises") .filter_map(|e| e.ok()) .filter(|e| e.file_name().to_str().unwrap() == "canonical-data.json") { diff --git a/rust-tooling/tests/no_trailing_whitespace.rs b/rust-tooling/tests/no_trailing_whitespace.rs index e9d817a66..540c160b9 100644 --- a/rust-tooling/tests/no_trailing_whitespace.rs +++ b/rust-tooling/tests/no_trailing_whitespace.rs @@ -1,7 +1,6 @@ use std::path::Path; use exercism_tooling::fs_utils; -use walkdir::WalkDir; fn contains_trailing_whitespace(p: &Path) -> bool { let contents = std::fs::read_to_string(p).unwrap(); @@ -17,9 +16,9 @@ fn contains_trailing_whitespace(p: &Path) -> bool { fn test_no_trailing_whitespace() { fs_utils::cd_into_repo_root(); - for entry in WalkDir::new(".") { + for entry in ignore::Walk::new("./") { let entry = entry.unwrap(); - if !entry.file_type().is_file() { + if !entry.file_type().is_some_and(|t| t.is_file()) { continue; } let path = entry.path();