diff --git a/src/config.rs b/src/config.rs index 59b5c342..3675fa2c 100644 --- a/src/config.rs +++ b/src/config.rs @@ -106,6 +106,7 @@ pub enum Step { Powershell, CustomCommands, Yadm, + Sheldon, } #[derive(Deserialize, Default, Debug)] diff --git a/src/main.rs b/src/main.rs index 7bf97bb3..f8f65a38 100644 --- a/src/main.rs +++ b/src/main.rs @@ -273,6 +273,7 @@ fn run() -> Result<()> { runner.execute(Step::Composer, "composer", || generic::run_composer_update(&ctx))?; runner.execute(Step::Krew, "krew", || generic::run_krew_upgrade(run_type))?; runner.execute(Step::Gem, "gem", || generic::run_gem(&base_dirs, run_type))?; + runner.execute(Step::Sheldon, "sheldon", || generic::run_sheldon(&ctx))?; #[cfg(target_os = "linux")] { diff --git a/src/steps/generic.rs b/src/steps/generic.rs index cf7c532b..203f40be 100644 --- a/src/steps/generic.rs +++ b/src/steps/generic.rs @@ -53,6 +53,14 @@ pub fn run_gem(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> { run_type.execute(&gem).args(&["update", "--user-install"]).check_run() } +pub fn run_sheldon(ctx: &ExecutionContext) -> Result<()> { + let sheldon = utils::require("sheldon")?; + + print_separator("Sheldon"); + + ctx.run_type().execute(&sheldon).args(&["lock", "--update"]).check_run() +} + #[cfg(not(any( target_os = "freebsd", target_os = "openbsd",