Adds pyenv step (#724)
This commit is contained in:
committed by
GitHub
parent
9b6027fe78
commit
650a143602
@@ -121,6 +121,7 @@ pub enum Step {
|
|||||||
Pnpm,
|
Pnpm,
|
||||||
Powershell,
|
Powershell,
|
||||||
Protonup,
|
Protonup,
|
||||||
|
Pyenv,
|
||||||
Raco,
|
Raco,
|
||||||
Rcm,
|
Rcm,
|
||||||
Remotes,
|
Remotes,
|
||||||
|
|||||||
@@ -324,6 +324,7 @@ fn run() -> Result<()> {
|
|||||||
runner.execute(Step::GnomeShellExtensions, "Gnome Shell Extensions", || {
|
runner.execute(Step::GnomeShellExtensions, "Gnome Shell Extensions", || {
|
||||||
unix::upgrade_gnome_extensions(&ctx)
|
unix::upgrade_gnome_extensions(&ctx)
|
||||||
})?;
|
})?;
|
||||||
|
runner.execute(Step::Pyenv, "pyenv", || unix::run_pyenv(&ctx))?;
|
||||||
runner.execute(Step::Sdkman, "SDKMAN!", || unix::run_sdkman(&ctx))?;
|
runner.execute(Step::Sdkman, "SDKMAN!", || unix::run_sdkman(&ctx))?;
|
||||||
runner.execute(Step::Rcm, "rcm", || unix::run_rcm(&ctx))?;
|
runner.execute(Step::Rcm, "rcm", || unix::run_rcm(&ctx))?;
|
||||||
runner.execute(Step::Maza, "maza", || unix::run_maza(&ctx))?;
|
runner.execute(Step::Maza, "maza", || unix::run_maza(&ctx))?;
|
||||||
|
|||||||
@@ -580,6 +580,25 @@ pub fn run_pearl(ctx: &ExecutionContext) -> Result<()> {
|
|||||||
ctx.run_type().execute(pearl).arg("update").status_checked()
|
ctx.run_type().execute(pearl).arg("update").status_checked()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn run_pyenv(ctx: &ExecutionContext) -> Result<()> {
|
||||||
|
let pyenv = require("pyenv")?;
|
||||||
|
print_separator("pyenv");
|
||||||
|
|
||||||
|
let pyenv_dir = var("PYENV_ROOT")
|
||||||
|
.map(PathBuf::from)
|
||||||
|
.unwrap_or_else(|_| HOME_DIR.join(".pyenv"));
|
||||||
|
|
||||||
|
if !pyenv_dir.exists() {
|
||||||
|
return Err(SkipStep("Pyenv is installed, but $PYENV_ROOT is not set correctly".to_string()).into());
|
||||||
|
}
|
||||||
|
|
||||||
|
if !pyenv_dir.join(".git").exists() {
|
||||||
|
return Err(SkipStep("pyenv is not a git repository".to_string()).into());
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.run_type().execute(pyenv).arg("update").status_checked()
|
||||||
|
}
|
||||||
|
|
||||||
pub fn run_sdkman(ctx: &ExecutionContext) -> Result<()> {
|
pub fn run_sdkman(ctx: &ExecutionContext) -> Result<()> {
|
||||||
let bash = require("bash")?;
|
let bash = require("bash")?;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user