From 55ef924e7a9f99a9df1c2b7a9b33793f7ae27d8a Mon Sep 17 00:00:00 2001 From: Raymond Wanyoike Date: Sun, 4 Dec 2016 13:37:26 +0300 Subject: cask reinstall: download and verify cask before uninstall Closes: caskroom/homebrew-cask#27075 --- Library/Homebrew/cask/lib/hbc/cli/reinstall.rb | 34 +++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) (limited to 'Library') diff --git a/Library/Homebrew/cask/lib/hbc/cli/reinstall.rb b/Library/Homebrew/cask/lib/hbc/cli/reinstall.rb index 3560a4795..70a329c20 100644 --- a/Library/Homebrew/cask/lib/hbc/cli/reinstall.rb +++ b/Library/Homebrew/cask/lib/hbc/cli/reinstall.rb @@ -7,6 +7,24 @@ module Hbc begin cask = Hbc.load(cask_token) + installer = Installer.new(cask, + force: force, + skip_cask_deps: skip_cask_deps, + require_sha: require_sha) + installer.print_caveats + + # Download + begin + installer.satisfy_dependencies + installer.verify_has_sha if @require_sha && !@force + installer.download + installer.verify + rescue StandardError => e + installer.purge_versioned_files + raise e + end + + # Uninstall if cask.installed? # use copy of cask for uninstallation to avoid 'No such file or directory' bug installed_cask = cask @@ -26,10 +44,18 @@ module Hbc Installer.new(installed_cask, force: true).uninstall end - Installer.new(cask, - force: force, - skip_cask_deps: skip_cask_deps, - require_sha: require_sha).install + # Reinstall + begin + installer.extract_primary_container + installer.install_artifacts + installer.save_caskfile + installer.enable_accessibility_access + rescue StandardError => e + installer.purge_versioned_files + raise e + end + + puts installer.summary count += 1 rescue CaskUnavailableError => e warn_unavailable_with_suggestion cask_token, e -- cgit v1.2.3 From 0d67e35fb7b2db8157cc6650f31e601875073b42 Mon Sep 17 00:00:00 2001 From: Raymond Wanyoike Date: Mon, 5 Dec 2016 12:08:55 +0300 Subject: cask reinstall: use fetch and stage steps from #1620 --- Library/Homebrew/cask/lib/hbc/cli/reinstall.rb | 28 +++++--------------------- 1 file changed, 5 insertions(+), 23 deletions(-) (limited to 'Library') diff --git a/Library/Homebrew/cask/lib/hbc/cli/reinstall.rb b/Library/Homebrew/cask/lib/hbc/cli/reinstall.rb index 70a329c20..30d9b694c 100644 --- a/Library/Homebrew/cask/lib/hbc/cli/reinstall.rb +++ b/Library/Homebrew/cask/lib/hbc/cli/reinstall.rb @@ -12,19 +12,8 @@ module Hbc skip_cask_deps: skip_cask_deps, require_sha: require_sha) installer.print_caveats + installer.fetch - # Download - begin - installer.satisfy_dependencies - installer.verify_has_sha if @require_sha && !@force - installer.download - installer.verify - rescue StandardError => e - installer.purge_versioned_files - raise e - end - - # Uninstall if cask.installed? # use copy of cask for uninstallation to avoid 'No such file or directory' bug installed_cask = cask @@ -44,18 +33,11 @@ module Hbc Installer.new(installed_cask, force: true).uninstall end - # Reinstall - begin - installer.extract_primary_container - installer.install_artifacts - installer.save_caskfile - installer.enable_accessibility_access - rescue StandardError => e - installer.purge_versioned_files - raise e - end - + installer.stage + installer.install_artifacts + installer.enable_accessibility_access puts installer.summary + count += 1 rescue CaskUnavailableError => e warn_unavailable_with_suggestion cask_token, e -- cgit v1.2.3