Merge pull request #20145 from Homebrew/some-bundle-files-werent-typed-at-all-but-now-some-are

Make some of the `bundle` commands Sorbet `typed: true`
This commit is contained in:
Mike McQuaid 2025-06-20 10:58:07 +00:00 committed by GitHub
commit d0a144520d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 16 additions and 6 deletions

View File

@ -1,4 +1,4 @@
# typed: false # rubocop:todo Sorbet/TrueSigil # typed: true
# frozen_string_literal: true # frozen_string_literal: true
require "json" require "json"
@ -189,7 +189,12 @@ module Homebrew
class Topo < Hash class Topo < Hash
include TSort include TSort
def each_key(&block)
keys.each(&block)
end
alias tsort_each_node each_key alias tsort_each_node each_key
def tsort_each_child(node, &block) def tsort_each_child(node, &block)
fetch(node.downcase).sort.each(&block) fetch(node.downcase).sort.each(&block)
end end
@ -230,8 +235,8 @@ module Homebrew
odie <<~EOS odie <<~EOS
Formulae dependency graph sorting failed (likely due to a circular dependency): Formulae dependency graph sorting failed (likely due to a circular dependency):
#{cycle_first}: #{topo[cycle_first]} #{cycle_first}: #{topo[cycle_first] if topo}
#{cycle_last}: #{topo[cycle_last]} #{cycle_last}: #{topo[cycle_last] if topo}
Please run the following commands and try again: Please run the following commands and try again:
brew update brew update
brew uninstall --ignore-dependencies --force #{cycle_first} #{cycle_last} brew uninstall --ignore-dependencies --force #{cycle_first} #{cycle_last}

View File

@ -1,4 +1,4 @@
# typed: false # rubocop:todo Sorbet/TrueSigil # typed: true
# frozen_string_literal: true # frozen_string_literal: true
module Homebrew module Homebrew
@ -23,7 +23,7 @@ module Homebrew
else else
"needs to be installed or updated." "needs to be installed or updated."
end end
"#{self.class::PACKAGE_TYPE_NAME} #{name} #{reason}" "#{self.class.const_get(:PACKAGE_TYPE_NAME)} #{name} #{reason}"
end end
def full_check(packages, no_upgrade:) def full_check(packages, no_upgrade:)
@ -33,7 +33,7 @@ module Homebrew
def checkable_entries(all_entries) def checkable_entries(all_entries)
require "bundle/skipper" require "bundle/skipper"
all_entries.select { |e| e.type == self.class::PACKAGE_TYPE } all_entries.select { |e| e.type == self.class.const_get(:PACKAGE_TYPE) }
.reject(&Bundle::Skipper.method(:skip?)) .reject(&Bundle::Skipper.method(:skip?))
end end

View File

@ -0,0 +1,5 @@
# typed: true
module Homebrew::Bundle::BrewDumper
include Kernel
end