* Make every step configureable (fix #244) * Fix
This commit is contained in:
committed by
GitHub
parent
1182675170
commit
6021a551ac
@@ -22,30 +22,28 @@ type Commands = BTreeMap<String, String>;
|
|||||||
#[serde(rename_all = "lowercase")]
|
#[serde(rename_all = "lowercase")]
|
||||||
#[strum(serialize_all = "snake_case")]
|
#[strum(serialize_all = "snake_case")]
|
||||||
pub enum Step {
|
pub enum Step {
|
||||||
/// Don't perform system upgrade
|
|
||||||
System,
|
System,
|
||||||
/// Don't perform upgrades of package managers
|
|
||||||
PackageManagers,
|
PackageManagers,
|
||||||
/// Don't pull git repositories
|
|
||||||
GitRepos,
|
GitRepos,
|
||||||
/// Don't upgrade Vim packages or configuration files
|
|
||||||
Vim,
|
Vim,
|
||||||
/// Don't upgrade Emacs packages or configuration files
|
|
||||||
Emacs,
|
Emacs,
|
||||||
/// Don't upgrade ruby gems
|
|
||||||
Gem,
|
Gem,
|
||||||
/// Don't upgrade npm/composer/yarn packages
|
|
||||||
Node,
|
Node,
|
||||||
/// Don't upgrade SDKMAN! and its packages
|
|
||||||
Sdkman,
|
Sdkman,
|
||||||
/// Don't run remote Togprades
|
|
||||||
Remotes,
|
Remotes,
|
||||||
/// Don't run Rustup
|
|
||||||
Rustup,
|
Rustup,
|
||||||
/// Don't run Cargo
|
|
||||||
Cargo,
|
Cargo,
|
||||||
/// Don't update Powershell modules
|
|
||||||
Shell,
|
Shell,
|
||||||
|
Opam,
|
||||||
|
Vcpkg,
|
||||||
|
Pipx,
|
||||||
|
Stack,
|
||||||
|
Myrepos,
|
||||||
|
Pearl,
|
||||||
|
Jetpack,
|
||||||
|
Atom,
|
||||||
|
Firmware,
|
||||||
|
Restarts,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize, Default, Debug)]
|
#[derive(Deserialize, Default, Debug)]
|
||||||
|
|||||||
162
src/main.rs
162
src/main.rs
@@ -201,9 +201,9 @@ fn run() -> Result<(), Error> {
|
|||||||
|| unix::run_homebrew(config.cleanup(), run_type),
|
|| unix::run_homebrew(config.cleanup(), run_type),
|
||||||
config.no_retry(),
|
config.no_retry(),
|
||||||
)?;
|
)?;
|
||||||
}
|
|
||||||
|
|
||||||
execute(&mut report, "nix", || unix::run_nix(run_type), config.no_retry())?;
|
execute(&mut report, "nix", || unix::run_nix(run_type), config.no_retry())?;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(target_os = "dragonfly")]
|
#[cfg(target_os = "dragonfly")]
|
||||||
@@ -343,44 +343,66 @@ fn run() -> Result<(), Error> {
|
|||||||
execute(&mut report, "Emacs", || emacs.upgrade(run_type), config.no_retry())?;
|
execute(&mut report, "Emacs", || emacs.upgrade(run_type), config.no_retry())?;
|
||||||
}
|
}
|
||||||
|
|
||||||
execute(
|
if config.should_run(Step::Opam) {
|
||||||
&mut report,
|
execute(
|
||||||
"opam",
|
&mut report,
|
||||||
|| generic::run_opam_update(run_type),
|
"opam",
|
||||||
config.no_retry(),
|
|| generic::run_opam_update(run_type),
|
||||||
)?;
|
config.no_retry(),
|
||||||
execute(
|
)?;
|
||||||
&mut report,
|
}
|
||||||
"vcpkg",
|
|
||||||
|| generic::run_vcpkg_update(run_type),
|
if config.should_run(Step::Vcpkg) {
|
||||||
config.no_retry(),
|
execute(
|
||||||
)?;
|
&mut report,
|
||||||
execute(
|
"vcpkg",
|
||||||
&mut report,
|
|| generic::run_vcpkg_update(run_type),
|
||||||
"pipx",
|
config.no_retry(),
|
||||||
|| generic::run_pipx_update(run_type),
|
)?;
|
||||||
config.no_retry(),
|
}
|
||||||
)?;
|
|
||||||
execute(
|
if config.should_run(Step::Pipx) {
|
||||||
&mut report,
|
execute(
|
||||||
"stack",
|
&mut report,
|
||||||
|| generic::run_stack_update(run_type),
|
"pipx",
|
||||||
config.no_retry(),
|
|| generic::run_pipx_update(run_type),
|
||||||
)?;
|
config.no_retry(),
|
||||||
execute(
|
)?;
|
||||||
&mut report,
|
}
|
||||||
"myrepos",
|
|
||||||
|| generic::run_myrepos_update(&base_dirs, run_type),
|
if config.should_run(Step::Stack) {
|
||||||
config.no_retry(),
|
execute(
|
||||||
)?;
|
&mut report,
|
||||||
|
"stack",
|
||||||
|
|| generic::run_stack_update(run_type),
|
||||||
|
config.no_retry(),
|
||||||
|
)?;
|
||||||
|
}
|
||||||
|
|
||||||
|
if config.should_run(Step::Myrepos) {
|
||||||
|
execute(
|
||||||
|
&mut report,
|
||||||
|
"myrepos",
|
||||||
|
|| generic::run_myrepos_update(&base_dirs, run_type),
|
||||||
|
config.no_retry(),
|
||||||
|
)?;
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
execute(&mut report, "pearl", || unix::run_pearl(run_type), config.no_retry())?;
|
{
|
||||||
execute(
|
if config.should_run(Step::Pearl) {
|
||||||
&mut report,
|
execute(&mut report, "pearl", || unix::run_pearl(run_type), config.no_retry())?;
|
||||||
"jetpak",
|
}
|
||||||
|| generic::run_jetpack(run_type),
|
}
|
||||||
config.no_retry(),
|
|
||||||
)?;
|
if config.should_run(Step::Jetpack) {
|
||||||
|
execute(
|
||||||
|
&mut report,
|
||||||
|
"jetpak",
|
||||||
|
|| generic::run_jetpack(run_type),
|
||||||
|
config.no_retry(),
|
||||||
|
)?;
|
||||||
|
}
|
||||||
|
|
||||||
if config.should_run(Step::Vim) {
|
if config.should_run(Step::Vim) {
|
||||||
execute(
|
execute(
|
||||||
@@ -430,7 +452,11 @@ fn run() -> Result<(), Error> {
|
|||||||
target_os = "netbsd",
|
target_os = "netbsd",
|
||||||
target_os = "dragonfly"
|
target_os = "dragonfly"
|
||||||
)))]
|
)))]
|
||||||
execute(&mut report, "apm", || generic::run_apm(run_type), config.no_retry())?;
|
{
|
||||||
|
if config.should_run(Step::Atom) {
|
||||||
|
execute(&mut report, "apm", || generic::run_apm(run_type), config.no_retry())?;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if config.should_run(Step::Gem) {
|
if config.should_run(Step::Gem) {
|
||||||
execute(
|
execute(
|
||||||
@@ -472,30 +498,38 @@ fn run() -> Result<(), Error> {
|
|||||||
|
|
||||||
#[cfg(target_os = "linux")]
|
#[cfg(target_os = "linux")]
|
||||||
{
|
{
|
||||||
execute(
|
if config.should_run(Step::System) {
|
||||||
&mut report,
|
execute(
|
||||||
"pihole",
|
&mut report,
|
||||||
|| linux::run_pihole_update(sudo.as_ref(), run_type),
|
"pihole",
|
||||||
config.no_retry(),
|
|| linux::run_pihole_update(sudo.as_ref(), run_type),
|
||||||
)?;
|
config.no_retry(),
|
||||||
execute(
|
)?;
|
||||||
&mut report,
|
execute(
|
||||||
"rpi-update",
|
&mut report,
|
||||||
|| linux::run_rpi_update(sudo.as_ref(), run_type),
|
"rpi-update",
|
||||||
config.no_retry(),
|
|| linux::run_rpi_update(sudo.as_ref(), run_type),
|
||||||
)?;
|
config.no_retry(),
|
||||||
execute(
|
)?;
|
||||||
&mut report,
|
}
|
||||||
"Firmware upgrades",
|
|
||||||
|| linux::run_fwupdmgr(run_type),
|
if config.should_run(Step::Firmware) {
|
||||||
config.no_retry(),
|
execute(
|
||||||
)?;
|
&mut report,
|
||||||
execute(
|
"Firmware upgrades",
|
||||||
&mut report,
|
|| linux::run_fwupdmgr(run_type),
|
||||||
"Restarts",
|
config.no_retry(),
|
||||||
|| linux::run_needrestart(sudo.as_ref(), run_type),
|
)?;
|
||||||
config.no_retry(),
|
}
|
||||||
)?;
|
|
||||||
|
if config.should_run(Step::Restarts) {
|
||||||
|
execute(
|
||||||
|
&mut report,
|
||||||
|
"Restarts",
|
||||||
|
|| linux::run_needrestart(sudo.as_ref(), run_type),
|
||||||
|
config.no_retry(),
|
||||||
|
)?;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
|
|||||||
Reference in New Issue
Block a user