From 93ebe42a72e33e40c2c4c355f0cbc3e996599730 Mon Sep 17 00:00:00 2001 From: hyuraku <32809703+hyuraku@users.noreply.github.com> Date: Mon, 15 Aug 2022 21:48:57 +0900 Subject: [PATCH] add dry-run option to cask#install --- Library/Homebrew/cask/cmd/install.rb | 4 +++- Library/Homebrew/cask/installer.rb | 9 +++++++-- Library/Homebrew/cmd/install.rb | 3 +++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/cask/cmd/install.rb b/Library/Homebrew/cask/cmd/install.rb index 69bd9d80fa..2d477f10e8 100644 --- a/Library/Homebrew/cask/cmd/install.rb +++ b/Library/Homebrew/cask/cmd/install.rb @@ -56,7 +56,8 @@ module Cask require_sha: nil, quarantine: nil, quiet: nil, - zap: nil + zap: nil, + dry_run: nil ) odie "Installing casks is supported only on macOS" unless OS.mac? @@ -69,6 +70,7 @@ module Cask quarantine: quarantine, quiet: quiet, zap: zap, + dry_run: dry_run, }.compact options[:quarantine] = true if options[:quarantine].nil? diff --git a/Library/Homebrew/cask/installer.rb b/Library/Homebrew/cask/installer.rb index c0417e311d..e13eb423e3 100644 --- a/Library/Homebrew/cask/installer.rb +++ b/Library/Homebrew/cask/installer.rb @@ -24,7 +24,7 @@ module Cask skip_cask_deps: false, binaries: true, verbose: false, zap: false, require_sha: false, upgrade: false, installed_as_dependency: false, quarantine: true, - verify_download_integrity: true, quiet: false) + verify_download_integrity: true, quiet: false, dry_run: false) @cask = cask @command = command @force = force @@ -39,11 +39,12 @@ module Cask @quarantine = quarantine @verify_download_integrity = verify_download_integrity @quiet = quiet + @dry_run = dry_run end attr_predicate :binaries?, :force?, :skip_cask_deps?, :require_sha?, :reinstall?, :upgrade?, :verbose?, :zap?, :installed_as_dependency?, - :quarantine?, :quiet? + :quarantine?, :quiet?, :dry_run? def self.caveats(cask) odebug "Printing caveats" @@ -96,6 +97,10 @@ module Cask check_conflicts print caveats + if dry_run? + puts "#{Formatter.identifier(@cask)} would be installed" + exit + end fetch uninstall_existing_cask if reinstall? diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb index a312190440..2acb56baba 100644 --- a/Library/Homebrew/cmd/install.rb +++ b/Library/Homebrew/cmd/install.rb @@ -45,6 +45,8 @@ module Homebrew "(binaries and symlinks are excluded, unless originally from the same cask)." switch "-v", "--verbose", description: "Print the verification and postinstall steps." + switch "-n", "--dry-run", + description: "Show what would be installed, but do not actually install anything." [ [:switch, "--formula", "--formulae", { description: "Treat all named arguments as formulae.", @@ -193,6 +195,7 @@ module Homebrew skip_cask_deps: args.skip_cask_deps?, quarantine: args.quarantine?, quiet: args.quiet?, + dry_run: args.dry_run?, ) end