Merge pull request #20357 from Homebrew/more-extend-kernel-sigs

extend/kernel: tighten type sig for `ensure_formula_installed!`
This commit is contained in:
Carlo Cabrera 2025-08-01 18:44:44 +00:00 committed by GitHub
commit 1fc4225850
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 10 deletions

View File

@ -354,7 +354,7 @@ module Homebrew
end
return if gnu_tar_formula.blank?
ensure_formula_installed!(gnu_tar_formula, reason: "bottling")
ensure_formula_installed!(gnu_tar_formula.name, reason: "bottling")
gnu_tar_formula
end

View File

@ -442,10 +442,10 @@ module Kernel
# Ensure the given formula is installed
# This is useful for installing a utility formula (e.g. `shellcheck` for `brew style`)
sig {
params(formula_or_name: T.any(String, Formula), reason: String, latest: T::Boolean, output_to_stderr: T::Boolean,
params(formula_name: String, reason: String, latest: T::Boolean, output_to_stderr: T::Boolean,
quiet: T::Boolean).returns(Formula)
}
def ensure_formula_installed!(formula_or_name, reason: "", latest: false,
def ensure_formula_installed!(formula_name, reason: "", latest: false,
output_to_stderr: true, quiet: false)
if output_to_stderr || quiet
file = if quiet
@ -455,19 +455,14 @@ module Kernel
end
# Call this method itself with redirected stdout
redirect_stdout(file) do
return ensure_formula_installed!(formula_or_name, latest:,
return ensure_formula_installed!(formula_name, latest:,
reason:, output_to_stderr: false)
end
end
require "formula"
formula = if formula_or_name.is_a?(Formula)
formula_or_name
else
Formula[formula_or_name]
end
formula = Formula[formula_name]
reason = " for #{reason}" if reason.present?
unless formula.any_version_installed?