dev-cmd/unbottled: Bump to Sorbet typed: strict
This commit is contained in:
parent
09223c700a
commit
34caeb7ea8
@ -1,4 +1,4 @@
|
||||
# typed: true
|
||||
# typed: strict
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "abstract_command"
|
||||
@ -34,11 +34,11 @@ module Homebrew
|
||||
def run
|
||||
Formulary.enable_factory_cache!
|
||||
|
||||
@bottle_tag = if (tag = args.tag)
|
||||
@bottle_tag = T.let(if (tag = args.tag)
|
||||
Utils::Bottles::Tag.from_symbol(tag.to_sym)
|
||||
else
|
||||
Utils::Bottles.tag
|
||||
end
|
||||
end, T.nilable(Utils::Bottles::Tag))
|
||||
|
||||
if args.lost?
|
||||
if args.named.present?
|
||||
@ -51,13 +51,13 @@ module Homebrew
|
||||
end
|
||||
end
|
||||
|
||||
os = @bottle_tag.system
|
||||
arch = if Hardware::CPU::INTEL_ARCHS.include?(@bottle_tag.arch)
|
||||
os = T.must(@bottle_tag).system
|
||||
arch = if Hardware::CPU::INTEL_ARCHS.include?(T.must(@bottle_tag).arch)
|
||||
:intel
|
||||
elsif Hardware::CPU::ARM_ARCHS.include?(@bottle_tag.arch)
|
||||
elsif Hardware::CPU::ARM_ARCHS.include?(T.must(@bottle_tag).arch)
|
||||
:arm
|
||||
else
|
||||
raise "Unknown arch #{@bottle_tag.arch}."
|
||||
raise "Unknown arch #{T.must(@bottle_tag).arch}."
|
||||
end
|
||||
|
||||
Homebrew::SimulateSystem.with(os:, arch:) do
|
||||
@ -98,12 +98,13 @@ module Homebrew
|
||||
["installs", formula_installs]
|
||||
end
|
||||
|
||||
output_unbottled(formulae, deps_hash, noun, hash, args.named.present?)
|
||||
output_unbottled(formulae, deps_hash, noun, T.must(hash), args.named.present?)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
sig { params(all: T::Boolean).returns([T::Array[Formula], T::Array[Formula], T.nilable(T::Hash[Symbol, Integer])]) }
|
||||
def formulae_all_installs_from_args(all)
|
||||
if args.named.present?
|
||||
formulae = all_formulae = args.named.to_formulae
|
||||
@ -115,7 +116,7 @@ module Homebrew
|
||||
|
||||
formulae = all_formulae = Formula.all(eval_all: args.eval_all?)
|
||||
|
||||
@sort = " (sorted by number of dependents)"
|
||||
@sort = T.let(" (sorted by number of dependents)", T.nilable(String))
|
||||
elsif all
|
||||
formulae = all_formulae = Formula.all(eval_all: args.eval_all?)
|
||||
else
|
||||
@ -142,7 +143,7 @@ module Homebrew
|
||||
nil
|
||||
end
|
||||
end
|
||||
@sort = " (sorted by installs in the last 90 days; top 10,000 only)"
|
||||
@sort = T.let(" (sorted by installs in the last 90 days; top 10,000 only)", T.nilable(String))
|
||||
|
||||
all_formulae = Formula.all(eval_all: args.eval_all?)
|
||||
end
|
||||
@ -151,9 +152,10 @@ module Homebrew
|
||||
formulae = Array(formulae).reject(&:deprecated?) if formulae.present?
|
||||
all_formulae = Array(all_formulae).reject(&:deprecated?) if all_formulae.present?
|
||||
|
||||
[formulae, all_formulae, formula_installs]
|
||||
[T.let(formulae, T::Array[Formula]), T.let(all_formulae, T::Array[Formula]), T.let(T.must(formula_installs), T.nilable(T::Hash[Symbol, Integer]))]
|
||||
end
|
||||
|
||||
sig { params(all_formulae: T.untyped).returns([T::Hash[String, T.untyped], T::Hash[String, T.untyped]]) }
|
||||
def deps_uses_from_formulae(all_formulae)
|
||||
ohai "Populating dependency tree..."
|
||||
|
||||
@ -175,6 +177,7 @@ module Homebrew
|
||||
[deps_hash, uses_hash]
|
||||
end
|
||||
|
||||
sig { params(formulae: T::Array[Formula]).returns(NilClass) }
|
||||
def output_total(formulae)
|
||||
ohai "Unbottled :#{@bottle_tag} formulae"
|
||||
unbottled_formulae = 0
|
||||
@ -188,6 +191,7 @@ module Homebrew
|
||||
puts "#{unbottled_formulae}/#{formulae.length} remaining."
|
||||
end
|
||||
|
||||
sig { params(formulae: T::Array[Formula], deps_hash: T::Hash[T.any(Symbol, String), T.untyped], noun: T.nilable(String), hash: T::Hash[T.any(Symbol, String), T.untyped], any_named_args: T::Boolean).returns(NilClass) }
|
||||
def output_unbottled(formulae, deps_hash, noun, hash, any_named_args)
|
||||
ohai ":#{@bottle_tag} bottle status#{@sort}"
|
||||
any_found = T.let(false, T::Boolean)
|
||||
@ -201,7 +205,7 @@ module Homebrew
|
||||
end
|
||||
|
||||
requirements = f.recursive_requirements
|
||||
if @bottle_tag.linux?
|
||||
if T.must(@bottle_tag).linux?
|
||||
if requirements.any? { |r| r.is_a?(MacOSRequirement) && !r.version }
|
||||
puts "#{Tty.bold}#{Tty.red}#{name}#{Tty.reset}: requires macOS" if any_named_args
|
||||
next
|
||||
@ -210,7 +214,7 @@ module Homebrew
|
||||
puts "#{Tty.bold}#{Tty.red}#{name}#{Tty.reset}: requires Linux" if any_named_args
|
||||
next
|
||||
else
|
||||
macos_version = @bottle_tag.to_macos_version
|
||||
macos_version = T.must(@bottle_tag).to_macos_version
|
||||
macos_satisfied = requirements.all? do |r|
|
||||
case r
|
||||
when MacOSRequirement
|
||||
@ -222,7 +226,7 @@ module Homebrew
|
||||
|
||||
Version.new(MacOS::Xcode.latest_version(macos: macos_version)) >= r.version
|
||||
when ArchRequirement
|
||||
r.arch == @bottle_tag.arch
|
||||
r.arch == T.must(@bottle_tag).arch
|
||||
else
|
||||
true
|
||||
end
|
||||
@ -258,6 +262,7 @@ module Homebrew
|
||||
puts "No unbottled dependencies found!"
|
||||
end
|
||||
|
||||
sig { returns(NilClass) }
|
||||
def output_lost_bottles
|
||||
ohai ":#{@bottle_tag} lost bottles"
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user