From f5e6dc0fb35de2718ddcb5f7399f00a70daa1c23 Mon Sep 17 00:00:00 2001 From: Roey Darwish Dror Date: Thu, 1 Oct 2020 14:31:36 +0300 Subject: [PATCH] Deprecate the brew cask step (fix #520) (#529) --- src/main.rs | 1 - src/steps/os/macos.rs | 36 +----------------------------------- src/steps/os/unix.rs | 38 ++++++++++++++++++++++++++++++++------ 3 files changed, 33 insertions(+), 42 deletions(-) diff --git a/src/main.rs b/src/main.rs index 1f66f6cf..d11ec20b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -150,7 +150,6 @@ fn run() -> Result<()> { #[cfg(target_os = "macos")] { - runner.execute(Step::Brew, "Brew Cask", || macos::run_brew_cask(&ctx))?; runner.execute(Step::MacPorts, "MacPorts", || macos::run_macports(&ctx))?; runner.execute(Step::MicrosoftAutoUpdate, "Microsoft AutoUpdate", || { macos::run_msupdate(&ctx) diff --git a/src/steps/os/macos.rs b/src/steps/os/macos.rs index d5ec6d77..7d88abb3 100644 --- a/src/steps/os/macos.rs +++ b/src/steps/os/macos.rs @@ -1,5 +1,5 @@ use crate::execution_context::ExecutionContext; -use crate::executor::{CommandExt, RunType}; +use crate::executor::RunType; use crate::terminal::{print_separator, prompt_yesno}; use crate::{ error::TopgradeError, @@ -19,40 +19,6 @@ pub fn run_msupdate(ctx: &ExecutionContext) -> Result<()> { ctx.run_type().execute(msupdate).arg("--install").check_run() } -pub fn run_brew_cask(ctx: &ExecutionContext) -> Result<()> { - let brew = require("brew")?; - print_separator("Brew Cask"); - - let config = ctx.config(); - let run_type = ctx.run_type(); - - let cask_upgrade_exists = Command::new(&brew) - .args(&["--repository", "buo/cask-upgrade"]) - .check_output() - .map(|p| Path::new(p.trim()).exists())?; - - let cask_args = if cask_upgrade_exists { - let mut args = vec!["cu", "-y"]; - if config.brew_cask_greedy() { - args.push("-a"); - } - args - } else { - let mut args = vec!["upgrade", "--cask"]; - if config.brew_cask_greedy() { - args.push("--greedy"); - } - args - }; - run_type.execute(&brew).args(&cask_args).check_run()?; - - if ctx.config().cleanup() { - run_type.execute(&brew).arg("cleanup").check_run()?; - } - - Ok(()) -} - pub fn run_macports(ctx: &ExecutionContext) -> Result<()> { require("port")?; let sudo = ctx.sudo().as_ref().unwrap(); diff --git a/src/steps/os/unix.rs b/src/steps/os/unix.rs index 38c23826..9cfec4ae 100644 --- a/src/steps/os/unix.rs +++ b/src/steps/os/unix.rs @@ -2,17 +2,17 @@ use crate::error::SkipStep; use crate::error::TopgradeError; use crate::execution_context::ExecutionContext; -use crate::executor::{ExecutorExitStatus, RunType}; +use crate::executor::{CommandExt, ExecutorExitStatus, RunType}; use crate::terminal::{print_separator, print_warning}; use crate::utils::{require, PathExt}; use anyhow::Result; use directories::BaseDirs; use log::debug; -use std::env; use std::fs; use std::os::unix::fs::MetadataExt; use std::path::PathBuf; use std::process::Command; +use std::{env, path::Path}; pub fn run_fisher(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> { let fish = require("fish")?; @@ -47,11 +47,37 @@ pub fn run_brew(ctx: &ExecutionContext) -> Result<()> { print_separator("Brew"); let run_type = ctx.run_type(); + let cask_upgrade_exists = Command::new(&brew) + .args(&["--repository", "buo/cask-upgrade"]) + .check_output() + .map(|p| Path::new(p.trim()).exists())?; + + let mut brew_args = vec!["upgrade", "--ignore-pinned"]; + + if cask_upgrade_exists { + brew_args.push("--formula") + } + if ctx.config().brew_cask_greedy() { + brew_args.push("--greedy"); + } + run_type.execute(&brew).arg("update").check_run()?; - run_type - .execute(&brew) - .args(&["upgrade", "--ignore-pinned"]) - .check_run() + run_type.execute(&brew).args(&brew_args).check_run()?; + + if cask_upgrade_exists { + let mut args = vec!["cu", "-y"]; + if ctx.config().brew_cask_greedy() { + args.push("-a"); + } + + run_type.execute(&brew).args(&args).check_run()?; + } + + if ctx.config().cleanup() { + run_type.execute(&brew).arg("cleanup").check_run()?; + } + + Ok(()) } pub fn run_nix(ctx: &ExecutionContext) -> Result<()> {