diff --git a/locales/app.yml b/locales/app.yml index a0099955..2d553f5f 100644 --- a/locales/app.yml +++ b/locales/app.yml @@ -1062,14 +1062,6 @@ _version: 2 zh_CN: "模拟运行" zh_TW: "模擬執行" de: "Testlauf" -"Topgrade Upgraded": - en: "Topgrade Upgraded" - lt: "Topgrade atnaujintas" - es: "Topgrade Actualizado" - fr: "Topgrade mis à jour" - zh_CN: "已升级 Topgrade" - zh_TW: "已更新 Topgrade" - de: "Topgrade aktualisiert" # Summary texts "OK": diff --git a/src/error.rs b/src/error.rs index 78a06845..ea985ed0 100644 --- a/src/error.rs +++ b/src/error.rs @@ -116,14 +116,3 @@ impl Display for SkipStep { write!(f, "{}", self.0) } } - -#[cfg(all(windows, feature = "self-update"))] -#[derive(Error, Debug)] -pub struct Upgraded(pub ExitStatus); - -#[cfg(all(windows, feature = "self-update"))] -impl Display for Upgraded { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{}", t!("Topgrade Upgraded")) - } -} diff --git a/src/main.rs b/src/main.rs index 1c78f16d..b13f58d5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -23,8 +23,6 @@ use tracing::debug; use self::config::{CommandLineArgs, Config}; use self::error::StepFailed; -#[cfg(all(windows, feature = "self-update"))] -use self::error::Upgraded; use self::runner::StepResult; #[allow(clippy::wildcard_imports)] use self::steps::{remote::*, *}; @@ -335,13 +333,6 @@ fn main() { exit(0); } Err(error) => { - #[cfg(all(windows, feature = "self-update"))] - { - if let Some(Upgraded(status)) = error.downcast_ref::() { - exit(status.code().unwrap()); - } - } - let skip_print = (error.downcast_ref::().is_some()) || (error .downcast_ref::() diff --git a/src/self_update.rs b/src/self_update.rs index 6a237905..cb8b49a8 100644 --- a/src/self_update.rs +++ b/src/self_update.rs @@ -1,18 +1,19 @@ use std::env; #[cfg(unix)] use std::os::unix::process::CommandExt as _; +#[cfg(windows)] +use std::process::exit; use std::process::Command; use crate::step::Step; -use color_eyre::eyre::{bail, Result}; +#[cfg(unix)] +use color_eyre::eyre::bail; +use color_eyre::eyre::Result; use rust_i18n::t; use self_update_crate::backends::github::Update; use self_update_crate::update::UpdateStatus; use super::terminal::{print_info, print_separator}; -#[cfg(windows)] -use crate::error::Upgraded; - use crate::execution_context::ExecutionContext; pub fn self_update(ctx: &ExecutionContext) -> Result<()> { @@ -63,7 +64,7 @@ pub fn self_update(ctx: &ExecutionContext) -> Result<()> { { #[allow(clippy::disallowed_methods)] let status = command.status()?; - bail!(Upgraded(status)); + exit(status.code().expect("This cannot return None on Windows")); } } }