diff --git a/src/steps/node.rs b/src/steps/node.rs index e8722fa4..3ad67ad0 100644 --- a/src/steps/node.rs +++ b/src/steps/node.rs @@ -1,9 +1,11 @@ #![allow(unused_imports)] + use crate::error::SkipStep; use crate::executor::{CommandExt, RunType}; use crate::terminal::print_separator; use crate::utils::{require, PathExt}; use anyhow::Result; +use log::debug; use directories::BaseDirs; use std::path::PathBuf; @@ -51,6 +53,12 @@ pub fn run_npm_upgrade(_base_dirs: &BaseDirs, run_type: RunType) -> Result<()> { pub fn yarn_global_update(run_type: RunType) -> Result<()> { let yarn = require("yarn")?; + let output = Command::new(&yarn).arg("version").check_output()?; + if output.contains("Hadoop") { + debug!("Yarn is Hadoop yarn"); + return Err(SkipStep.into()); + } + print_separator("Yarn"); run_type.execute(&yarn).args(&["global", "upgrade", "-s"]).check_run() } diff --git a/src/steps/zsh.rs b/src/steps/zsh.rs index ded07b98..ca92caa1 100644 --- a/src/steps/zsh.rs +++ b/src/steps/zsh.rs @@ -98,17 +98,18 @@ pub fn run_oh_my_zsh(ctx: &ExecutionContext) -> Result<()> { debug!("oh-my-zsh custom dir: {}", custom_dir.display()); - let mut custom_plugins = Repositories::new(ctx.git()); - for entry in fs::read_dir(custom_dir)? { - let entry = entry?; - custom_plugins.insert_if_repo(entry.path()); - } + if let Ok(custom_plugins_dir) = fs::read_dir(custom_dir) { + let mut custom_plugins = Repositories::new(ctx.git()); - custom_plugins.remove(&oh_my_zsh.to_string_lossy()); - - if !custom_plugins.is_empty() { - println!("Pulling custom plugins"); - ctx.git().multi_pull(&custom_plugins, ctx)?; + for entry in custom_plugins_dir { + let entry = entry?; + custom_plugins.insert_if_repo(entry.path()); + } + custom_plugins.remove(&oh_my_zsh.to_string_lossy()); + if !custom_plugins.is_empty() { + println!("Pulling custom plugins"); + ctx.git().multi_pull(&custom_plugins, ctx)?; + } } ctx.run_type()