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)) }
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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,4 +1,4 @@
# typed: false
# typed: strict
# frozen_string_literal: true
old_trap = trap("INT") { exit! 130 }
@ -17,7 +17,7 @@ begin
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.run_post_install
rescue Exception => e # rubocop:disable Lint/RescueException

View File

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