Skip to content

Commit

Permalink
Fix type errors in postinstall.
Browse files Browse the repository at this point in the history
  • Loading branch information
reitermarkus committed Nov 29, 2020
1 parent 6750448 commit 1b9002c
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 12 deletions.
6 changes: 6 additions & 0 deletions Library/Homebrew/cli/args.rbi
Expand Up @@ -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
2 changes: 2 additions & 0 deletions Library/Homebrew/cli/named_args.rb
Expand Up @@ -5,6 +5,7 @@

require "cask/cask_loader"
require "cli/args"
require "formula"
require "formulary"
require "keg"
require "missing_formula"
Expand Down Expand Up @@ -99,6 +100,7 @@ def resolve_formula(name)
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
Expand Down
1 change: 1 addition & 0 deletions Library/Homebrew/cli/parser.rb
Expand Up @@ -264,6 +264,7 @@ def parse_remaining(argv, ignore_invalid_options: false)
[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

Expand Down
1 change: 1 addition & 0 deletions Library/Homebrew/cmd/--env.rb
Expand Up @@ -30,6 +30,7 @@ def __env_args
end
end

sig { void }
def __env
args = __env_args.parse

Expand Down
4 changes: 2 additions & 2 deletions Library/Homebrew/cmd/uninstall.rb
Expand Up @@ -61,13 +61,13 @@ def uninstall
)

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?,
Expand Down
4 changes: 2 additions & 2 deletions Library/Homebrew/postinstall.rb
@@ -1,4 +1,4 @@
# typed: false
# typed: strict
# frozen_string_literal: true

old_trap = trap("INT") { exit! 130 }
Expand All @@ -17,7 +17,7 @@

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
Expand Down
19 changes: 11 additions & 8 deletions Library/Homebrew/sorbet/rbi/upstream.rbi
@@ -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
Expand Down

0 comments on commit 1b9002c

Please sign in to comment.