diff --git a/Cargo.lock b/Cargo.lock index 0aa5818374..d3f5b514cf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5656,7 +5656,6 @@ version = "2026.5.1" dependencies = [ "age", "aho-corasick", - "anyhow", "aqua-registry", "async-backtrace", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 5d09b0b358..ae7a547520 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -59,7 +59,6 @@ opt-level = 3 [dependencies] age = { version = "0.11", features = ["ssh"] } aho-corasick = "1" -anyhow = "1" async-backtrace = "0.2" async-trait = "0.1" aws-config = { version = "1.5", default-features = false, features = [ diff --git a/src/backend/static_helpers.rs b/src/backend/static_helpers.rs index 3b9b485e7c..91bc091b98 100644 --- a/src/backend/static_helpers.rs +++ b/src/backend/static_helpers.rs @@ -86,22 +86,6 @@ pub trait VerifiableError: Sized + Send + Sync + 'static { } impl VerifiableError for eyre::Report { - fn is_not_found(&self) -> bool { - self.chain().any(|cause| { - if let Some(err) = cause.downcast_ref::() { - err.status() == Some(reqwest::StatusCode::NOT_FOUND) - } else { - false - } - }) - } - - fn into_eyre(self) -> eyre::Report { - self - } -} - -impl VerifiableError for anyhow::Error { fn is_not_found(&self) -> bool { if self.to_string().contains("404") { return true; @@ -116,7 +100,7 @@ impl VerifiableError for anyhow::Error { } fn into_eyre(self) -> eyre::Report { - eyre::eyre!(self) + self } } diff --git a/src/backend/ubi.rs b/src/backend/ubi.rs index a6c48036ab..a63426dc89 100644 --- a/src/backend/ubi.rs +++ b/src/backend/ubi.rs @@ -230,13 +230,9 @@ impl Backend for UbiBackend { // Use lockfile URL if available, otherwise fall back to standard resolution if let Some(url) = &lockfile_url { - install(url, &v, &bin_dir, extract_all, &opts) - .await - .map_err(|e| eyre::eyre!(e))?; + install(url, &v, &bin_dir, extract_all, &opts).await?; } else if name_is_url(&self.tool_name()) { - install(&self.tool_name(), &v, &bin_dir, extract_all, &opts) - .await - .map_err(|e| eyre::eyre!(e))?; + install(&self.tool_name(), &v, &bin_dir, extract_all, &opts).await?; } else { try_with_v_prefix(&v, None, |candidate| { let opts = opts.clone(); @@ -466,7 +462,7 @@ async fn install( bin_dir: &Path, extract_all: bool, opts: &ToolVersionOptions, -) -> anyhow::Result<()> { +) -> eyre::Result<()> { let mut builder = UbiBuilder::new().install_dir(bin_dir); if name_is_url(name) { @@ -508,7 +504,7 @@ async fn install( builder = set_enterprise_token(builder, &forge); } - let mut ubi = builder.build()?; + let mut ubi = builder.build().map_err(|e| eyre::eyre!("{e:#}"))?; // TODO: hacky but does not compile without it tokio::task::block_in_place(|| { @@ -519,5 +515,6 @@ async fn install( .unwrap() }); RT.block_on(async { ubi.install_binary().await }) + .map_err(|e| eyre::eyre!("{e:#}")) }) }