messages: record cask installations.
This is used to record installation times and also to determine whether to display caveats.
This commit is contained in:
parent
278c06f31d
commit
eb16e10902
@ -166,6 +166,7 @@ module Cask
|
||||
)
|
||||
require "cask/installer"
|
||||
|
||||
start_time = Time.now
|
||||
odebug "Started upgrade process for Cask #{old_cask}"
|
||||
old_config = old_cask.config
|
||||
|
||||
@ -228,6 +229,9 @@ module Cask
|
||||
old_cask_installer.revert_upgrade if started_upgrade
|
||||
raise e
|
||||
end
|
||||
|
||||
end_time = Time.now
|
||||
Homebrew.messages.package_installed(new_cask.token, end_time - start_time)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -88,6 +88,7 @@ module Cask
|
||||
end
|
||||
|
||||
def install
|
||||
start_time = Time.now
|
||||
odebug "Cask::Installer#install"
|
||||
|
||||
old_config = @cask.config
|
||||
@ -115,6 +116,8 @@ module Cask
|
||||
purge_backed_up_versioned_files
|
||||
|
||||
puts summary
|
||||
end_time = Time.now
|
||||
Homebrew.messages.package_installed(@cask.token, end_time - start_time)
|
||||
rescue
|
||||
restore_backup
|
||||
raise
|
||||
|
||||
@ -95,7 +95,7 @@ module Homebrew
|
||||
}],
|
||||
[:switch, "--display-times", {
|
||||
env: :display_install_times,
|
||||
description: "Print install times for each formula at the end of the run.",
|
||||
description: "Print install times for each package at the end of the run.",
|
||||
}],
|
||||
[:switch, "-i", "--interactive", {
|
||||
description: "Download and patch <formula>, then open a shell. This allows the user to " \
|
||||
|
||||
@ -67,7 +67,7 @@ module Homebrew
|
||||
}],
|
||||
[:switch, "--display-times", {
|
||||
env: :display_install_times,
|
||||
description: "Print install times for each formula at the end of the run.",
|
||||
description: "Print install times for each package at the end of the run.",
|
||||
}],
|
||||
].each do |options|
|
||||
send(*options)
|
||||
@ -104,12 +104,10 @@ module Homebrew
|
||||
only_upgrade_formulae = formulae.present? && casks.blank?
|
||||
only_upgrade_casks = casks.present? && formulae.blank?
|
||||
|
||||
display_messages = !only_upgrade_casks && upgrade_outdated_formulae(formulae, args: args)
|
||||
force_caveats = !only_upgrade_formulae && upgrade_outdated_casks(casks, args: args)
|
||||
upgrade_outdated_formulae(formulae, args: args) unless only_upgrade_casks
|
||||
upgrade_outdated_casks(casks, args: args) unless only_upgrade_formulae
|
||||
|
||||
return unless display_messages
|
||||
|
||||
Homebrew.messages.display_messages(force_caveats: force_caveats, display_times: args.display_times?)
|
||||
Homebrew.messages.display_messages(display_times: args.display_times?)
|
||||
end
|
||||
|
||||
sig { params(formulae: T::Array[Formula], args: CLI::Args).returns(T::Boolean) }
|
||||
|
||||
@ -441,7 +441,7 @@ class FormulaInstaller
|
||||
|
||||
opoo "Nothing was installed to #{formula.prefix}" unless formula.latest_version_installed?
|
||||
end_time = Time.now
|
||||
Homebrew.messages.formula_installed(formula, end_time - start_time)
|
||||
Homebrew.messages.package_installed(formula.name, end_time - start_time)
|
||||
end
|
||||
|
||||
def check_conflicts
|
||||
|
||||
@ -6,12 +6,12 @@
|
||||
class Messages
|
||||
extend T::Sig
|
||||
|
||||
attr_reader :caveats, :formula_count, :install_times
|
||||
attr_reader :caveats, :package_count, :install_times
|
||||
|
||||
sig { void }
|
||||
def initialize
|
||||
@caveats = []
|
||||
@formula_count = 0
|
||||
@package_count = 0
|
||||
@install_times = []
|
||||
end
|
||||
|
||||
@ -19,9 +19,9 @@ class Messages
|
||||
@caveats.push(package: package, caveats: caveats)
|
||||
end
|
||||
|
||||
def formula_installed(f, elapsed_time)
|
||||
@formula_count += 1
|
||||
@install_times.push(formula: f.name, time: elapsed_time)
|
||||
def package_installed(package, elapsed_time)
|
||||
@package_count += 1
|
||||
@install_times.push(package: package, time: elapsed_time)
|
||||
end
|
||||
|
||||
def display_messages(force_caveats: false, display_times: false)
|
||||
@ -30,8 +30,8 @@ class Messages
|
||||
end
|
||||
|
||||
def display_caveats(force: false)
|
||||
return if @formula_count.zero?
|
||||
return if @formula_count == 1 && !force
|
||||
return if @package_count.zero?
|
||||
return if @package_count == 1 && !force
|
||||
return if @caveats.empty?
|
||||
|
||||
oh1 "Caveats"
|
||||
@ -45,7 +45,7 @@ class Messages
|
||||
|
||||
oh1 "Installation times"
|
||||
install_times.each do |t|
|
||||
puts format("%<formula>-20s %<time>10.3f s", t)
|
||||
puts format("%<package>-20s %<time>10.3f s", t)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -17,25 +17,25 @@ describe Messages do
|
||||
end
|
||||
end
|
||||
|
||||
describe "#formula_installed" do
|
||||
it "increases the formula count" do
|
||||
describe "#package_installed" do
|
||||
it "increases the package count" do
|
||||
expect {
|
||||
messages.formula_installed(test_formula, elapsed_time)
|
||||
}.to change(messages, :formula_count).by(1)
|
||||
messages.package_installed(test_formula, elapsed_time)
|
||||
}.to change(messages, :package_count).by(1)
|
||||
end
|
||||
|
||||
it "adds to install_times" do
|
||||
expect {
|
||||
messages.formula_installed(test_formula, elapsed_time)
|
||||
messages.package_installed(test_formula, elapsed_time)
|
||||
}.to change { messages.install_times.count }.by(1)
|
||||
end
|
||||
end
|
||||
|
||||
describe "#display_messages" do
|
||||
context "when formula_count is less than two" do
|
||||
context "when package_count is less than two" do
|
||||
before do
|
||||
messages.record_caveats(test_formula, "Zsh completions were installed")
|
||||
messages.formula_installed(test_formula, elapsed_time)
|
||||
messages.package_installed(test_formula, elapsed_time)
|
||||
end
|
||||
|
||||
it "doesn't print caveat details" do
|
||||
@ -45,7 +45,7 @@ describe Messages do
|
||||
|
||||
context "when caveats is empty" do
|
||||
before do
|
||||
messages.formula_installed(test_formula, elapsed_time)
|
||||
messages.package_installed(test_formula, elapsed_time)
|
||||
end
|
||||
|
||||
it "doesn't print caveat details" do
|
||||
@ -53,13 +53,13 @@ describe Messages do
|
||||
end
|
||||
end
|
||||
|
||||
context "when formula_count is greater than one and caveats are present" do
|
||||
context "when package_count is greater than one and caveats are present" do
|
||||
let(:test_formula2) { formula("bar") { url("https://brew.sh/bar-0.1.tgz") } }
|
||||
|
||||
before do
|
||||
messages.record_caveats(test_formula, "Zsh completions were installed")
|
||||
messages.formula_installed(test_formula, elapsed_time)
|
||||
messages.formula_installed(test_formula2, elapsed_time)
|
||||
messages.package_installed(test_formula, elapsed_time)
|
||||
messages.package_installed(test_formula2, elapsed_time)
|
||||
end
|
||||
|
||||
it "prints caveat details" do
|
||||
@ -82,7 +82,7 @@ describe Messages do
|
||||
|
||||
context "when `install_times` is present" do
|
||||
before do
|
||||
messages.formula_installed(test_formula, elapsed_time)
|
||||
messages.package_installed(test_formula, elapsed_time)
|
||||
end
|
||||
|
||||
it "prints installation times" do
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user