diff --git a/src/config.rs b/src/config.rs index 465989ce..2917677f 100644 --- a/src/config.rs +++ b/src/config.rs @@ -163,6 +163,7 @@ pub enum Step { Xcodes, Yadm, Yarn, + Zvm, } #[derive(Deserialize, Default, Debug, Merge)] diff --git a/src/main.rs b/src/main.rs index e219f207..155e979c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -416,6 +416,7 @@ fn run() -> Result<()> { generic::run_lensfun_update_data(&ctx) })?; runner.execute(Step::Poetry, "Poetry", || generic::run_poetry(&ctx))?; + runner.execute(Step::Zvm, "ZVM", || generic::run_zvm(&ctx))?; if should_run_powershell { runner.execute(Step::Powershell, "Powershell Modules Update", || { diff --git a/src/steps/generic.rs b/src/steps/generic.rs index d305cbbc..528b94b0 100644 --- a/src/steps/generic.rs +++ b/src/steps/generic.rs @@ -1008,3 +1008,12 @@ pub fn run_poetry(ctx: &ExecutionContext) -> Result<()> { print_separator("Poetry"); ctx.run_type().execute(poetry).args(["self", "update"]).status_checked() } + +/// Involve `zvm upgrade` to update ZVM +pub fn run_zvm(ctx: &ExecutionContext) -> Result<()> { + let zvm = require("zvm")?; + + print_separator("ZVM"); + + ctx.run_type().execute(zvm).arg("upgrade").status_checked() +}