From a5c626cb242f274b30f460243f754605f635dc0e Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Tue, 14 Jul 2020 18:41:38 +0200 Subject: [PATCH] Ensure installation status order is stable --- tools/yabridgectl/src/files.rs | 4 ++-- tools/yabridgectl/src/main.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/yabridgectl/src/files.rs b/tools/yabridgectl/src/files.rs index f81d1045..b3e93cc3 100644 --- a/tools/yabridgectl/src/files.rs +++ b/tools/yabridgectl/src/files.rs @@ -19,7 +19,7 @@ use aho_corasick::AhoCorasick; use lazy_static::lazy_static; use rayon::prelude::*; -use std::collections::HashMap; +use std::collections::{BTreeMap, HashMap}; use std::path::{Path, PathBuf}; use std::process::Command; use walkdir::WalkDir; @@ -48,7 +48,7 @@ impl SearchResults { /// /// These two functions could be combined into a single function, but speed isn't really an /// issue here and it's a bit more organized this way. - pub fn installation_status(&self) -> HashMap<&Path, Option<&FoundFile>> { + pub fn installation_status(&self) -> BTreeMap<&Path, Option<&FoundFile>> { let so_files: HashMap<&Path, &FoundFile> = self .so_files .iter() diff --git a/tools/yabridgectl/src/main.rs b/tools/yabridgectl/src/main.rs index a1a73939..9f8703e8 100644 --- a/tools/yabridgectl/src/main.rs +++ b/tools/yabridgectl/src/main.rs @@ -30,7 +30,6 @@ mod files; // TODO: Naming and descriptions could be made clearer // TODO: When creating copies, check whether `yabridge-host.exe` is in the PATH for the login shell // TODO: Check for left over files when removing directory -// TODO: Warn about left over files if not using --prune // TODO: Reward parts of the readme // TODO: Record .dll files processed, .dll files skipped and orphan .so files. Print a summary of // the work done, and allow a --verbose option to print everything. @@ -101,6 +100,7 @@ fn add_directory(config: &mut Config, path: PathBuf) { /// `config.plugin_dirs`, otherwise this si silently ignored. fn remove_directory(config: &mut Config, path: &Path) { // We've already verified that this path is in `config.plugin_dirs` + // XXS: Would it be a good idea to warn about leftover .so files? config.plugin_dirs.remove(path); if let Err(err) = config.write() { eprintln!("Error while writing config file: {}", err);