Bump more files to Sorbet typed: strict

This commit is contained in:
Issy Long 2024-09-18 20:39:57 +00:00
parent c5fed58345
commit 28349370d3
No known key found for this signature in database
4 changed files with 39 additions and 9 deletions

View File

@ -144,7 +144,7 @@ begin
end
rescue UsageError => e
require "help"
Homebrew::Help.help cmd, remaining_args: args&.remaining, usage_error: e.message
Homebrew::Help.help cmd, remaining_args: args&.remaining || [], usage_error: e.message
rescue SystemExit => e
onoe "Kernel.exit" if args&.debug? && !e.success?
if args&.debug? || ARGV.include?("--debug")

View File

@ -1,4 +1,4 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# typed: strict
# frozen_string_literal: true
require "cask/cask_loader"
@ -6,6 +6,7 @@ require "utils/inreplace"
module Cask
class Migrator
sig { returns(Cask) }
attr_reader :old_cask, :new_cask
sig { params(old_cask: Cask, new_cask: Cask).void }
@ -38,7 +39,10 @@ module Cask
old_caskroom_path = old_cask.caskroom_path
new_caskroom_path = new_cask.caskroom_path
old_installed_caskfile = old_cask.installed_caskfile.relative_path_from(old_caskroom_path)
old_caskfile = old_cask.installed_caskfile
return if old_caskfile.nil?
old_installed_caskfile = old_caskfile.relative_path_from(old_caskroom_path)
new_installed_caskfile = old_installed_caskfile.dirname/old_installed_caskfile.basename.sub(
old_token,
new_token,

View File

@ -1,4 +1,4 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# typed: strict
# frozen_string_literal: true
require "utils/shell"
@ -191,6 +191,7 @@ module FormulaCellarChecks
EOS
end
sig { params(lib: Pathname, deps: T::Array[Dependency]).returns(T.nilable(String)) }
def check_python_packages(lib, deps)
return unless lib.directory?
@ -250,6 +251,7 @@ module FormulaCellarChecks
EOS
end
sig { params(prefix: Pathname, plist: Pathname).returns(T.nilable(String)) }
def check_plist(prefix, plist)
return unless prefix.directory?
@ -412,7 +414,7 @@ module FormulaCellarChecks
sig { void }
def audit_installed
@new_formula ||= false
@new_formula ||= T.let(false, T.nilable(T::Boolean))
problem_if_output(check_manpages)
problem_if_output(check_infopages)
@ -442,8 +444,9 @@ module FormulaCellarChecks
File.directory?(dir) ? Dir.chdir(dir) { Dir[pattern] } : []
end
def cpuid_instruction?(file, objdump = "objdump")
@instruction_column_index ||= {}
sig { params(file: T.any(Pathname, String), objdump: Pathname).returns(T::Boolean) }
def cpuid_instruction?(file, objdump)
@instruction_column_index ||= T.let({}, T.nilable(T::Hash[Pathname, Integer]))
@instruction_column_index[objdump] ||= begin
objdump_version = Utils.popen_read(objdump, "--version")

View File

@ -1,4 +1,4 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# typed: strict
# frozen_string_literal: true
require "cli/parser"
@ -7,6 +7,14 @@ require "commands"
module Homebrew
# Helper module for printing help output.
module Help
sig {
params(
cmd: T.nilable(String),
empty_argv: T::Boolean,
usage_error: T.nilable(String),
remaining_args: T::Array[String],
).void
}
def self.help(cmd = nil, empty_argv: false, usage_error: nil, remaining_args: [])
if cmd.nil?
# Handle `brew` (no arguments).
@ -39,6 +47,13 @@ module Homebrew
exit 0
end
sig {
params(
cmd: String,
path: Pathname,
remaining_args: T::Array[String],
).returns(String)
}
def self.command_help(cmd, path, remaining_args:)
# Only some types of commands can have a parser.
output = if Commands.valid_internal_cmd?(cmd) ||
@ -58,6 +73,12 @@ module Homebrew
end
private_class_method :command_help
sig {
params(
path: Pathname,
remaining_args: T::Array[String],
).returns(T.nilable(String))
}
def self.parser_help(path, remaining_args:)
# Let OptionParser generate help text for commands which have a parser.
cmd_parser = CLI::Parser.from_cmd_path(path)
@ -69,14 +90,16 @@ module Homebrew
end
private_class_method :parser_help
sig { params(path: Pathname).returns(T::Array[String]) }
def self.command_help_lines(path)
path.read
.lines
.grep(/^#:/)
.map { |line| line.slice(2..-1).delete_prefix(" ") }
.filter_map { |line| line.slice(2..-1)&.delete_prefix(" ") }
end
private_class_method :command_help_lines
sig { params(path: Pathname).returns(T.nilable(String)) }
def self.comment_help(path)
# Otherwise read #: lines from the file.
help_lines = command_help_lines(path)