From 1b534800a9f09e97513f71efaa85a86b92ec54cd Mon Sep 17 00:00:00 2001 From: Lucas Parzianello <7535699+lucaspar@users.noreply.github.com> Date: Sat, 24 Aug 2024 22:22:27 -0400 Subject: [PATCH] Adds `uv` step (#890) * pyenv: fixes #849 * feat: adds `uv` python manager step * moved new uv step from unix to generic --------- Co-authored-by: Lucas Parzianello --- src/config.rs | 1 + src/main.rs | 1 + src/steps/generic.rs | 20 ++++++++++++++++++++ 3 files changed, 22 insertions(+) diff --git a/src/config.rs b/src/config.rs index c3e29153..638d268b 100644 --- a/src/config.rs +++ b/src/config.rs @@ -153,6 +153,7 @@ pub enum Step { Tlmgr, Tmux, Toolbx, + Uv, Vagrant, Vcpkg, Vim, diff --git a/src/main.rs b/src/main.rs index 4b743bd0..9f41858f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -419,6 +419,7 @@ fn run() -> Result<()> { generic::run_lensfun_update_data(&ctx) })?; runner.execute(Step::Poetry, "Poetry", || generic::run_poetry(&ctx))?; + runner.execute(Step::Uv, "uv", || generic::run_uv(&ctx))?; runner.execute(Step::Zvm, "ZVM", || generic::run_zvm(&ctx))?; runner.execute(Step::Aqua, "aqua", || generic::run_aqua(&ctx))?; diff --git a/src/steps/generic.rs b/src/steps/generic.rs index f2c5e1e8..a30d274b 100644 --- a/src/steps/generic.rs +++ b/src/steps/generic.rs @@ -1024,6 +1024,26 @@ pub fn run_poetry(ctx: &ExecutionContext) -> Result<()> { ctx.run_type().execute(poetry).args(["self", "update"]).status_checked() } +pub fn run_uv(ctx: &ExecutionContext) -> Result<()> { + let uv_exec = require("uv")?; + print_separator("uv"); + + ctx.run_type() + .execute(&uv_exec) + .args(["self", "update"]) + .status_checked() + .ok(); + + // ignoring self-update errors, because they are likely due to uv's + // installation being managed by another package manager, in which + // case another step will handle the update. + + ctx.run_type() + .execute(&uv_exec) + .args(["tool", "upgrade", "--all"]) + .status_checked() +} + /// Involve `zvm upgrade` to update ZVM pub fn run_zvm(ctx: &ExecutionContext) -> Result<()> { let zvm = require("zvm")?;