reinstall/upgrade/install: always output options.

This is both easier for debugging and to communicate with users what is
being done.
This commit is contained in:
Mike McQuaid 2016-12-10 13:07:03 +00:00
parent f02491180b
commit e347f7ade3
4 changed files with 17 additions and 18 deletions

View File

@ -20,19 +20,15 @@ module Homebrew
end
def reinstall_formula(f)
options = BuildOptions.new(Options.create(ARGV.flags_only), f.options).used_options
options |= f.build.used_options
options &= f.options
notice = "Reinstalling #{f.full_name}"
notice += " with #{options * ", "}" unless options.empty?
oh1 notice
if f.opt_prefix.directory?
keg = Keg.new(f.opt_prefix.resolved_path)
backup keg
end
options = BuildOptions.new(Options.create(ARGV.flags_only), f.options).used_options
options |= f.build.used_options
options &= f.options
fi = FormulaInstaller.new(f)
fi.options = options
fi.build_bottle = ARGV.build_bottle? || (!f.bottled? && f.build.build_bottle?)
@ -43,6 +39,9 @@ module Homebrew
fi.verbose = ARGV.verbose?
fi.debug = ARGV.debug?
fi.prelude
oh1 "Reinstalling #{f.full_name} #{options.to_a.join " "}"
fi.install
fi.finish
rescue FormulaInstallationAlreadyAttemptedError

View File

@ -104,7 +104,7 @@ module Homebrew
fi.debug = ARGV.debug?
fi.prelude
oh1 "Upgrading #{f.full_specified_name}"
oh1 "Upgrading #{f.full_specified_name} #{fi.options.to_a.join " "}"
# first we unlink the currently active keg for this formula otherwise it is
# possible for the existing build to interfere with the build we are about to

View File

@ -219,9 +219,6 @@ class FormulaInstaller
opoo "#{formula.full_name}: this formula has no #{option} option so it will be ignored!"
end
oh1 "Installing #{Formatter.identifier(formula.full_name)}" if show_header?
if formula.tap && !formula.tap.private?
options = []
if formula.head?
options << "--HEAD"
@ -229,6 +226,9 @@ class FormulaInstaller
options << "--devel"
end
options += effective_build_options_for(formula).used_options.to_a
oh1 "Installing #{Formatter.identifier(formula.full_name)} #{options.join " "}" if show_header?
if formula.tap && !formula.tap.private?
category = "install"
action = ([formula.full_name] + options).join(" ")
Utils::Analytics.report_event(category, action)

View File

@ -8,7 +8,7 @@ class IntegrationCommandTestReinstall < IntegrationCommandTestCase
foo_dir = HOMEBREW_CELLAR/"testball/0.1/foo"
assert foo_dir.exist?
foo_dir.rmtree
assert_match "Reinstalling testball with --with-foo",
assert_match "Reinstalling testball --with-foo",
cmd("reinstall", "testball")
assert foo_dir.exist?
end