From 3838164d9145305aa3255e0437eb83b8f33e8cab Mon Sep 17 00:00:00 2001 From: Luca BRUNO Date: Fri, 27 Sep 2024 16:57:47 +0200 Subject: [PATCH] fix: trim final exe suffix for stable sorting --- crates/uv/src/commands/tool/common.rs | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/crates/uv/src/commands/tool/common.rs b/crates/uv/src/commands/tool/common.rs index 30c209b34d55..1d3c33fe00fe 100644 --- a/crates/uv/src/commands/tool/common.rs +++ b/crates/uv/src/commands/tool/common.rs @@ -196,19 +196,17 @@ pub(crate) fn install_executables( ) } + let mut names = BTreeSet::new(); for (name, source_path, target_path) in &target_entry_points { debug!("Installing executable: `{name}`"); #[cfg(unix)] replace_symlink(source_path, target_path).context("Failed to install executable")?; #[cfg(windows)] fs_err::copy(source_path, target_path).context("Failed to install entrypoint")?; + names.insert(name.trim_end_matches(".exe")); } - let s = if target_entry_points.len() == 1 { - "" - } else { - "s" - }; + let s = if names.len() == 1 { "" } else { "s" }; let from_pkg = if tool_name == name { String::new() } else { @@ -217,11 +215,8 @@ pub(crate) fn install_executables( writeln!( printer.stderr(), "Installed {} executable{s}{from_pkg}: {}", - target_entry_points.len(), - target_entry_points - .iter() - .map(|(name, _, _)| name.bold()) - .join(", ") + names.len(), + names.iter().map(|name| name.bold()).join(", ") )?; debug!("Adding receipt for tool `{tool_name}`");