mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Merge pull request #19627 from Homebrew/bundle_check_already_output_formulae_errors
Allow callers of `brew bundle check` to filter errors.
This commit is contained in:
commit
ad75e9b337
@ -7,9 +7,6 @@ module Homebrew
|
||||
module Bundle
|
||||
module Commands
|
||||
module Check
|
||||
ARROW = "→"
|
||||
FAILURE_MESSAGE = "brew bundle can't satisfy your Brewfile's dependencies."
|
||||
|
||||
def self.run(global: false, file: nil, no_upgrade: false, verbose: false)
|
||||
output_errors = verbose
|
||||
exit_on_first_error = !verbose
|
||||
@ -18,10 +15,26 @@ module Homebrew
|
||||
exit_on_first_error:, no_upgrade:, verbose:
|
||||
)
|
||||
|
||||
if check_result.work_to_be_done
|
||||
puts FAILURE_MESSAGE
|
||||
# Allow callers of `brew bundle check` to specify when they've already
|
||||
# output some formulae errors.
|
||||
check_missing_formulae = ENV.fetch("HOMEBREW_BUNDLE_CHECK_ALREADY_OUTPUT_FORMULAE_ERRORS", "")
|
||||
.strip
|
||||
.split
|
||||
|
||||
if check_result.work_to_be_done
|
||||
puts "brew bundle can't satisfy your Brewfile's dependencies." if check_missing_formulae.blank?
|
||||
|
||||
if output_errors
|
||||
check_result.errors.each do |error|
|
||||
if (match = error.match(/^Formula (.+) needs to be installed/)) &&
|
||||
check_missing_formulae.include?(match[1])
|
||||
next
|
||||
end
|
||||
|
||||
puts "→ #{error}"
|
||||
end
|
||||
end
|
||||
|
||||
check_result.errors.each { |package| puts "#{ARROW} #{package}" } if output_errors
|
||||
puts "Satisfy missing dependencies with `brew bundle install`."
|
||||
exit 1
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user