diff --git a/.github/workflows/check-and-lint.yaml b/.github/workflows/check-and-lint.yaml index cb825f48..587c8c1a 100644 --- a/.github/workflows/check-and-lint.yaml +++ b/.github/workflows/check-and-lint.yaml @@ -22,7 +22,7 @@ jobs: - name: Setup Rust uses: dtolnay/rust-toolchain@master with: - toolchain: '${{ env.RUST_VER }}' + toolchain: '${{ env.RUST_VER }} components: rustfmt - name: Run cargo fmt diff --git a/src/config.rs b/src/config.rs index e4a2dd63..f551236d 100644 --- a/src/config.rs +++ b/src/config.rs @@ -106,6 +106,7 @@ pub enum Step { HomeManager, Jetpack, Julia, + Juliaup, Kakoune, Krew, Macports, diff --git a/src/main.rs b/src/main.rs index b62a50a9..c082742b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -324,6 +324,7 @@ fn run() -> Result<()> { runner.execute(Step::Atom, "apm", || generic::run_apm(run_type))?; runner.execute(Step::Fossil, "fossil", || generic::run_fossil(run_type))?; runner.execute(Step::Rustup, "rustup", || generic::run_rustup(&base_dirs, run_type))?; + runner.execute(Step::Juliaup, "juliaup", || generic::run_juliaup(&base_dirs, run_type))?; runner.execute(Step::Dotnet, ".NET", || generic::run_dotnet_upgrade(&ctx))?; runner.execute(Step::Choosenim, "choosenim", || generic::run_choosenim(&ctx))?; runner.execute(Step::Cargo, "cargo", || generic::run_cargo_update(&ctx))?; diff --git a/src/steps/generic.rs b/src/steps/generic.rs index 1646b0be..eb9c5428 100644 --- a/src/steps/generic.rs +++ b/src/steps/generic.rs @@ -175,6 +175,19 @@ pub fn run_rustup(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> { run_type.execute(&rustup).arg("update").status_checked() } +pub fn run_juliaup(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> { + let juliaup = utils::require("juliaup")?; + + print_separator("juliaup"); + + if juliaup.canonicalize()?.is_descendant_of(base_dirs.home_dir()) { + run_type.execute(&juliaup).args(["self", "update"]).status_checked()?; + } + + run_type.execute(&juliaup).arg("update").status_checked() + +} + pub fn run_choosenim(ctx: &ExecutionContext) -> Result<()> { let choosenim = utils::require("choosenim")?; diff --git a/src/steps/node.rs b/src/steps/node.rs index d9a71e58..5455b4c7 100644 --- a/src/steps/node.rs +++ b/src/steps/node.rs @@ -4,7 +4,6 @@ use std::os::unix::fs::MetadataExt; use std::path::PathBuf; use std::process::Command; - use crate::sudo; use crate::utils::require_option; use color_eyre::eyre::Result;