Fix type errors in postinstall.

This commit is contained in:
Markus Reiter 2020-11-23 18:45:40 +01:00
parent 6750448d95
commit 1b9002c04a
7 changed files with 25 additions and 12 deletions

View File

@ -59,6 +59,12 @@ module Homebrew
sig { returns(T.nilable(T::Boolean)) } sig { returns(T.nilable(T::Boolean)) }
def formula?; end def formula?; end
sig { returns(T.nilable(T::Boolean)) }
def zap?; end
sig { returns(T.nilable(T::Boolean)) }
def ignore_dependencies?; end
end end
end end
end end

View File

@ -5,6 +5,7 @@ require "delegate"
require "cask/cask_loader" require "cask/cask_loader"
require "cli/args" require "cli/args"
require "formula"
require "formulary" require "formulary"
require "keg" require "keg"
require "missing_formula" require "missing_formula"
@ -99,6 +100,7 @@ module Homebrew
end end
private :resolve_formula private :resolve_formula
sig { returns(T::Array[Formula]) }
def to_resolved_formulae def to_resolved_formulae
@to_resolved_formulae ||= to_formulae_and_casks(only: :formula, method: :resolve) @to_resolved_formulae ||= to_formulae_and_casks(only: :formula, method: :resolve)
.freeze .freeze

View File

@ -264,6 +264,7 @@ module Homebrew
[remaining, non_options] [remaining, non_options]
end end
sig { params(argv: T::Array[String], ignore_invalid_options: T::Boolean).returns(Args) }
def parse(argv = ARGV.freeze, ignore_invalid_options: false) def parse(argv = ARGV.freeze, ignore_invalid_options: false)
raise "Arguments were already parsed!" if @args_parsed raise "Arguments were already parsed!" if @args_parsed

View File

@ -30,6 +30,7 @@ module Homebrew
end end
end end
sig { void }
def __env def __env
args = __env_args.parse args = __env_args.parse

View File

@ -61,13 +61,13 @@ module Homebrew
) )
if args.zap? if args.zap?
Cask::Cmd::Zap.zap_casks( T.unsafe(Cask::Cmd::Zap).zap_casks(
*casks, *casks,
verbose: args.verbose?, verbose: args.verbose?,
force: args.force?, force: args.force?,
) )
else else
Cask::Cmd::Uninstall.uninstall_casks( T.unsafe(Cask::Cmd::Uninstall).uninstall_casks(
*casks, *casks,
binaries: EnvConfig.cask_opts_binaries?, binaries: EnvConfig.cask_opts_binaries?,
verbose: args.verbose?, verbose: args.verbose?,

View File

@ -1,4 +1,4 @@
# typed: false # typed: strict
# frozen_string_literal: true # frozen_string_literal: true
old_trap = trap("INT") { exit! 130 } old_trap = trap("INT") { exit! 130 }
@ -17,7 +17,7 @@ begin
trap("INT", old_trap) trap("INT", old_trap)
formula = args.named.to_resolved_formulae.first formula = T.must(args.named.to_resolved_formulae.first)
formula.extend(Debrew::Formula) if args.debug? formula.extend(Debrew::Formula) if args.debug?
formula.run_post_install formula.run_post_install
rescue Exception => e # rubocop:disable Lint/RescueException rescue Exception => e # rubocop:disable Lint/RescueException

View File

@ -1,13 +1,16 @@
# typed: strict # typed: strict
class Pathname class IO
# https://github.com/sorbet/sorbet/pull/3676 # https://github.com/sorbet/sorbet/pull/3722
sig { params(p1: T.any(String, Pathname), p2: String).returns(T::Array[Pathname]) } sig do
def self.glob(p1, p2 = T.unsafe(nil)); end type_parameters(:U).params(
fd: T.any(String, Integer),
# https://github.com/sorbet/sorbet/pull/3678 mode: T.any(Integer, String),
sig { params(with_directory: T::Boolean).returns(T::Array[Pathname]) } opt: T.nilable(T::Hash[Symbol, T.untyped]),
def children(with_directory = true); end blk: T.proc.params(io: T.attached_class).returns(T.type_parameter(:U))
).returns(T.type_parameter(:U))
end
def self.open(fd, mode='r', opt=nil, &blk); end
end end
module FileUtils module FileUtils