Separate fetch and stage steps in Hbc::Installer.
This commit is contained in:
parent
7d7ca0cb1a
commit
e6d9248787
@ -54,8 +54,27 @@ module Hbc
|
|||||||
output
|
output
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def fetch
|
||||||
|
odebug "Hbc::Installer#fetch"
|
||||||
|
|
||||||
|
satisfy_dependencies
|
||||||
|
verify_has_sha if @require_sha && !@force
|
||||||
|
download
|
||||||
|
verify
|
||||||
|
end
|
||||||
|
|
||||||
|
def stage
|
||||||
|
odebug "Hbc::Installer#stage"
|
||||||
|
|
||||||
|
extract_primary_container
|
||||||
|
save_caskfile
|
||||||
|
rescue StandardError => e
|
||||||
|
purge_versioned_files
|
||||||
|
raise e
|
||||||
|
end
|
||||||
|
|
||||||
def install
|
def install
|
||||||
odebug "Hbc::Installer.install"
|
odebug "Hbc::Installer#install"
|
||||||
|
|
||||||
if @cask.installed? && !force
|
if @cask.installed? && !force
|
||||||
raise CaskAlreadyInstalledAutoUpdatesError, @cask if @cask.auto_updates
|
raise CaskAlreadyInstalledAutoUpdatesError, @cask if @cask.auto_updates
|
||||||
@ -63,20 +82,10 @@ module Hbc
|
|||||||
end
|
end
|
||||||
|
|
||||||
print_caveats
|
print_caveats
|
||||||
|
fetch
|
||||||
begin
|
stage
|
||||||
satisfy_dependencies
|
|
||||||
verify_has_sha if @require_sha && !@force
|
|
||||||
download
|
|
||||||
verify
|
|
||||||
extract_primary_container
|
|
||||||
install_artifacts
|
install_artifacts
|
||||||
save_caskfile
|
|
||||||
enable_accessibility_access
|
enable_accessibility_access
|
||||||
rescue StandardError => e
|
|
||||||
purge_versioned_files
|
|
||||||
raise e
|
|
||||||
end
|
|
||||||
|
|
||||||
puts summary
|
puts summary
|
||||||
end
|
end
|
||||||
@ -89,8 +98,7 @@ module Hbc
|
|||||||
|
|
||||||
def download
|
def download
|
||||||
odebug "Downloading"
|
odebug "Downloading"
|
||||||
download = Download.new(@cask, force: false)
|
@downloaded_path = Download.new(@cask, force: false).perform
|
||||||
@downloaded_path = download.perform
|
|
||||||
odebug "Downloaded to -> #{@downloaded_path}"
|
odebug "Downloaded to -> #{@downloaded_path}"
|
||||||
@downloaded_path
|
@downloaded_path
|
||||||
end
|
end
|
||||||
@ -107,15 +115,18 @@ module Hbc
|
|||||||
|
|
||||||
def extract_primary_container
|
def extract_primary_container
|
||||||
odebug "Extracting primary container"
|
odebug "Extracting primary container"
|
||||||
|
|
||||||
FileUtils.mkdir_p @cask.staged_path
|
FileUtils.mkdir_p @cask.staged_path
|
||||||
container = if @cask.container && @cask.container.type
|
container = if @cask.container && @cask.container.type
|
||||||
Container.from_type(@cask.container.type)
|
Container.from_type(@cask.container.type)
|
||||||
else
|
else
|
||||||
Container.for_path(@downloaded_path, @command)
|
Container.for_path(@downloaded_path, @command)
|
||||||
end
|
end
|
||||||
|
|
||||||
unless container
|
unless container
|
||||||
raise CaskError, "Uh oh, could not figure out how to unpack '#{@downloaded_path}'"
|
raise CaskError, "Uh oh, could not figure out how to unpack '#{@downloaded_path}'"
|
||||||
end
|
end
|
||||||
|
|
||||||
odebug "Using container class #{container} for #{@downloaded_path}"
|
odebug "Using container class #{container} for #{@downloaded_path}"
|
||||||
container.new(@cask, @downloaded_path, @command).extract
|
container.new(@cask, @downloaded_path, @command).extract
|
||||||
end
|
end
|
||||||
@ -245,6 +256,9 @@ module Hbc
|
|||||||
See System Preferences to enable it manually.
|
See System Preferences to enable it manually.
|
||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
rescue StandardError => e
|
||||||
|
purge_versioned_files
|
||||||
|
raise e
|
||||||
end
|
end
|
||||||
|
|
||||||
def disable_accessibility_access
|
def disable_accessibility_access
|
||||||
@ -279,7 +293,7 @@ module Hbc
|
|||||||
end
|
end
|
||||||
|
|
||||||
def uninstall
|
def uninstall
|
||||||
odebug "Hbc::Installer.uninstall"
|
odebug "Hbc::Installer#uninstall"
|
||||||
disable_accessibility_access
|
disable_accessibility_access
|
||||||
uninstall_artifacts
|
uninstall_artifacts
|
||||||
purge_versioned_files
|
purge_versioned_files
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user