add dry-run option to formula#install

This commit is contained in:
hyuraku 2022-08-16 20:59:01 +09:00
parent 93ebe42a72
commit 634fcad1b2
4 changed files with 16 additions and 4 deletions

View File

@ -245,6 +245,7 @@ module Homebrew
debug: args.debug?,
quiet: args.quiet?,
verbose: args.verbose?,
dry_run: args.dry_run?,
)
Upgrade.check_installed_dependents(
@ -260,9 +261,10 @@ module Homebrew
debug: args.debug?,
quiet: args.quiet?,
verbose: args.verbose?,
dry_run: args.dry_run?,
)
Cleanup.periodic_clean!
Cleanup.periodic_clean!(dry_run: args.dry_run?)
Homebrew.messages.display_messages(display_times: args.display_times?)
rescue FormulaUnreadableError, FormulaClassUnavailableError,

View File

@ -40,7 +40,7 @@ class FormulaInstaller
attr_predicate :show_summary_heading?, :show_header?
attr_predicate :force_bottle?, :ignore_deps?, :only_deps?, :interactive?, :git?, :force?, :overwrite?, :keep_tmp?
attr_predicate :debug_symbols?
attr_predicate :verbose?, :debug?, :quiet?
attr_predicate :verbose?, :debug?, :quiet?, :dry_run?
def initialize(
formula,
@ -66,7 +66,8 @@ class FormulaInstaller
overwrite: false,
debug: false,
quiet: false,
verbose: false
verbose: false,
dry_run: false
)
@formula = formula
@env = env
@ -90,6 +91,7 @@ class FormulaInstaller
@verbose = verbose
@quiet = quiet
@debug = debug
@dry_run = dry_run
@installed_as_dependency = installed_as_dependency
@installed_on_request = installed_on_request
@options = options
@ -696,6 +698,7 @@ class FormulaInstaller
debug: debug?,
quiet: quiet?,
verbose: verbose?,
dry_run: dry_run?,
)
fi.prelude
fi.fetch
@ -1182,6 +1185,10 @@ class FormulaInstaller
return if self.class.fetched.include?(formula)
fetch_dependencies
if dry_run?
puts "#{Formatter.identifier(formula.full_name)} would be installed"
return
end
return if only_deps?

View File

@ -274,7 +274,8 @@ module Homebrew
overwrite: false,
debug: false,
quiet: false,
verbose: false
verbose: false,
dry_run: false
)
formula_installers = formulae_to_install.map do |f|
Migrator.migrate_if_needed(f, force: force)
@ -300,6 +301,7 @@ module Homebrew
debug: debug,
quiet: quiet,
verbose: verbose,
dry_run: dry_run,
)
begin

View File

@ -208,6 +208,7 @@ module Homebrew
# possible for the existing build to interfere with the build we are about to
# do! Seriously, it happens!
kegs.each(&:unlink) if kegs.present?
return if formula_installer.dry_run?
formula_installer.install
formula_installer.finish