From 0dcf3822eb329cf7e62d168c23fec407b7738c7d Mon Sep 17 00:00:00 2001 From: timeshifter Date: Fri, 6 Jan 2023 11:50:57 +0100 Subject: [PATCH] Revert "add more generic backend stuff" This reverts commit 265d67089b0dbf887a1a06708b61f20aec227bcf. --- src/backend/mod.rs | 46 +++++++++++-------------------------------- src/backend/pacman.rs | 14 +++---------- src/backend/rust.rs | 14 +++---------- 3 files changed, 17 insertions(+), 57 deletions(-) diff --git a/src/backend/mod.rs b/src/backend/mod.rs index 5854b83..d4acaf8 100644 --- a/src/backend/mod.rs +++ b/src/backend/mod.rs @@ -8,50 +8,29 @@ use std::process::Command; use crate::Package; pub use pacman::Pacman; -use rust::Rust; - -pub fn get_backends() -> Vec> { - let pacman = Pacman; - let rust = Rust; - vec![Box::new(pacman), Box::new(rust)] -} - type Switches = &'static [&'static str]; type Binary = &'static str; pub trait Backend { /// The binary that should be called to run the associated package manager. - fn get_binary() -> Binary - where - Self: Sized; + const BINARY: Binary; /// The switches that signals the `BINARY` that the packages should be installed. - fn get_switches_install() -> Switches - where - Self: Sized; + const SWITCHES_INSTALL: Switches; /// The switches that signals the `BINARY` that the packages should be removed. - fn get_switches_remove() -> Switches - where - Self: Sized; + const SWITCHES_REMOVE: Switches; /// Get all packages that are installed in the system. - fn get_all_installed_packages() -> HashSet - where - Self: Sized; + fn get_all_installed_packages() -> HashSet; /// Get all packages that were installed in the system explicitly. - fn get_explicitly_installed_packages() -> HashSet - where - Self: Sized; + fn get_explicitly_installed_packages() -> HashSet; /// Install the specified packages. - fn install_packages(packages: Vec) - where - Self: Sized, - { - let mut cmd = Command::new(Self::get_binary()); - cmd.args(Self::get_switches_install()); + fn install_packages(packages: Vec) { + let mut cmd = Command::new(Self::BINARY); + cmd.args(Self::SWITCHES_INSTALL); for p in packages { cmd.arg(format!("{p}")); } @@ -59,12 +38,9 @@ pub trait Backend { } /// Remove the specified packages. - fn remove_packages(packages: Vec) - where - Self: Sized, - { - let mut cmd = Command::new(Self::get_binary()); - cmd.args(Self::get_switches_remove()); + fn remove_packages(packages: Vec) { + let mut cmd = Command::new(Self::BINARY); + cmd.args(Self::SWITCHES_REMOVE); for p in packages { cmd.arg(format!("{p}")); } diff --git a/src/backend/pacman.rs b/src/backend/pacman.rs index 50c17ea..1309159 100644 --- a/src/backend/pacman.rs +++ b/src/backend/pacman.rs @@ -9,17 +9,9 @@ use crate::Package; pub struct Pacman; impl Backend for Pacman { - fn get_binary() -> Binary { - "paru" - } - - fn get_switches_install() -> Switches { - &["-S"] - } - - fn get_switches_remove() -> Switches { - &["-Rsn"] - } + const BINARY: Binary = "paru"; + const SWITCHES_INSTALL: Switches = &["-S"]; + const SWITCHES_REMOVE: Switches = &["-Rsn"]; fn get_all_installed_packages() -> HashSet { convert_to_pacdef_packages(get_all_installed_packages_from_alpm()) diff --git a/src/backend/rust.rs b/src/backend/rust.rs index a36d91d..3d9a501 100644 --- a/src/backend/rust.rs +++ b/src/backend/rust.rs @@ -6,17 +6,9 @@ use crate::Package; pub struct Rust; impl Backend for Rust { - fn get_binary() -> Binary { - "cargo" - } - - fn get_switches_install() -> Switches { - &["install"] - } - - fn get_switches_remove() -> Switches { - &["uninstall"] - } + const BINARY: Binary = "cargo"; + const SWITCHES_INSTALL: Switches = &["install"]; + const SWITCHES_REMOVE: Switches = &["uninstall"]; fn get_all_installed_packages() -> HashSet { extract_packages_names(&run_cargo_install_list())