From 8a7f445d1f1095cf2587f6d4e3e9fde630459f7e Mon Sep 17 00:00:00 2001 From: hyuraku <32809703+hyuraku@users.noreply.github.com> Date: Wed, 17 Aug 2022 22:14:05 +0900 Subject: [PATCH] repair how to show casks to be installed --- Library/Homebrew/cask/cmd/install.rb | 21 ++++++++++++++++++++- Library/Homebrew/cask/installer.rb | 11 +++-------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/Library/Homebrew/cask/cmd/install.rb b/Library/Homebrew/cask/cmd/install.rb index 2d477f10e8..6c4d71572a 100644 --- a/Library/Homebrew/cask/cmd/install.rb +++ b/Library/Homebrew/cask/cmd/install.rb @@ -70,14 +70,33 @@ module Cask quarantine: quarantine, quiet: quiet, zap: zap, - dry_run: dry_run, }.compact options[:quarantine] = true if options[:quarantine].nil? + if dry_run + casks_to_install = casks.reject(&:installed?) + if casks_to_install.present? + ohai "Would install #{casks_to_install.count} #{"package".pluralize(casks_to_install.count)}:" + puts casks_to_install.map(&:full_name).join(" ") + end + end + require "cask/installer" casks.each do |cask| + if dry_run + dep_names = CaskDependent.new(cask) + .runtime_dependencies + .reject(&:installed?) + .map(&:to_formula) + .map(&:name) + if dep_names.present? + ohai "Would install #{dep_names.count} #{"dependency".pluralize(dep_names.count)} for #{cask.full_name}:" + puts dep_names.join(" ") + end + next + end Installer.new(cask, **options).install rescue CaskAlreadyInstalledError => e opoo e.message diff --git a/Library/Homebrew/cask/installer.rb b/Library/Homebrew/cask/installer.rb index e13eb423e3..18337bd043 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, dry_run: false) + verify_download_integrity: true, quiet: false) @cask = cask @command = command @force = force @@ -39,12 +39,11 @@ 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?, :dry_run? + :quarantine?, :quiet? def self.caveats(cask) odebug "Printing caveats" @@ -97,13 +96,9 @@ module Cask check_conflicts print caveats - if dry_run? - puts "#{Formatter.identifier(@cask)} would be installed" - exit - end + fetch uninstall_existing_cask if reinstall? - backup if force? && @cask.staged_path.exist? && @cask.metadata_versioned_path.exist? oh1 "Installing Cask #{Formatter.identifier(@cask)}"