From 5bc626bbe14695f5e54d0656674040127ec52483 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Wed, 23 Sep 2020 03:43:54 +0200 Subject: [PATCH] Completely deprecate `Homebrew.args`. --- Library/Homebrew/brew.rb | 1 - Library/Homebrew/compat.rb | 1 + Library/Homebrew/compat/cli/parser.rb | 18 +- Library/Homebrew/compat/global.rb | 21 + Library/Homebrew/compat/global.rbi | 8 + Library/Homebrew/global.rb | 6 +- .../sorbet/rbi/hidden-definitions/hidden.rbi | 364 +++++++++++++++--- Library/Homebrew/test/cli/parser_spec.rb | 2 +- Library/Homebrew/utils/livecheck_formula.rb | 6 +- 9 files changed, 358 insertions(+), 69 deletions(-) create mode 100644 Library/Homebrew/compat/global.rb create mode 100644 Library/Homebrew/compat/global.rbi diff --git a/Library/Homebrew/brew.rb b/Library/Homebrew/brew.rb index 2240161dcc..756ca25c85 100644 --- a/Library/Homebrew/brew.rb +++ b/Library/Homebrew/brew.rb @@ -68,7 +68,6 @@ begin ARGV.delete_at(help_cmd_index) if help_cmd_index args = Homebrew::CLI::Parser.new.parse(ARGV.dup.freeze, ignore_invalid_options: true) - Homebrew.args = args Context.current = args.context path = PATH.new(ENV["PATH"]) diff --git a/Library/Homebrew/compat.rb b/Library/Homebrew/compat.rb index 04870d0a23..c9ad444268 100644 --- a/Library/Homebrew/compat.rb +++ b/Library/Homebrew/compat.rb @@ -6,6 +6,7 @@ require "compat/cli/parser" require "compat/extend/nil" require "compat/extend/string" require "compat/formula" +require "compat/global" require "compat/language/java" require "compat/language/python" require "compat/os/mac" if OS.mac? diff --git a/Library/Homebrew/compat/cli/parser.rb b/Library/Homebrew/compat/cli/parser.rb index 91093f9080..0753ad7a5c 100644 --- a/Library/Homebrew/compat/cli/parser.rb +++ b/Library/Homebrew/compat/cli/parser.rb @@ -1,27 +1,15 @@ # typed: true # frozen_string_literal: true +require "compat/global" + module Homebrew module CLI class Parser module Compat - module DeprecatedArgs - # No need to define it as it's the default/superclass implementation. - # rubocop:disable Style/MissingRespondToMissing - def method_missing(method, *) - if ![:debug?, :quiet?, :verbose?, :value].include?(method) && !@printed_args_warning - odeprecated "Homebrew.args", "`args = _args.parse` and pass `args` along the call chain" - @printed_args_warning = true - end - - super - end - # rubocop:enable Style/MissingRespondToMissing - end - def parse(*) args = super - Homebrew.args = args.dup.extend(DeprecatedArgs) + Homebrew.args = args.dup args end end diff --git a/Library/Homebrew/compat/global.rb b/Library/Homebrew/compat/global.rb new file mode 100644 index 0000000000..3ab5383e60 --- /dev/null +++ b/Library/Homebrew/compat/global.rb @@ -0,0 +1,21 @@ +# typed: true +# frozen_string_literal: true + +module Homebrew + module Compat + attr_writer :args + + def args + unless @printed_args_warning + odeprecated "Homebrew.args", "`args = _args.parse` and pass `args` along the call chain" + @printed_args_warning = true + end + + @args ||= CLI::Args.new + end + end + + class << self + prepend Compat + end +end diff --git a/Library/Homebrew/compat/global.rbi b/Library/Homebrew/compat/global.rbi new file mode 100644 index 0000000000..fe79dc4ab8 --- /dev/null +++ b/Library/Homebrew/compat/global.rbi @@ -0,0 +1,8 @@ +# typed: strict +# frozen_string_literal: true + +module Homebrew + module Compat + include Kernel + end +end diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb index 667f765433..af73b4e4df 100644 --- a/Library/Homebrew/global.rb +++ b/Library/Homebrew/global.rb @@ -82,7 +82,7 @@ module Homebrew DEFAULT_REPOSITORY = "#{DEFAULT_PREFIX}/Homebrew" class << self - attr_writer :failed, :raise_deprecation_exceptions, :auditing, :args + attr_writer :failed, :raise_deprecation_exceptions, :auditing def Homebrew.default_prefix?(prefix = HOMEBREW_PREFIX) prefix.to_s == DEFAULT_PREFIX @@ -93,10 +93,6 @@ module Homebrew @failed == true end - def args - @args ||= CLI::Args.new - end - def messages @messages ||= Messages.new end diff --git a/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi b/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi index c8a98f37dd..ec2b44eb6c 100644 --- a/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi +++ b/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi @@ -2980,10 +2980,6 @@ end BasicObject::BasicObject = BasicObject -class BasicSocket - def read_nonblock(len, str=T.unsafe(nil), exception: T.unsafe(nil)); end -end - class Benchmark::Job def initialize(width); end end @@ -5584,6 +5580,10 @@ class Cask::Cask def zap(&block); end end +class Cask::Cmd::AbstractCommand + include ::Homebrew::Search::Extension +end + class Cask::Config def appdir(); end @@ -6725,6 +6725,10 @@ module DependenciesHelpers include ::DependenciesHelpers::Compat end +class Descriptions + extend ::Homebrew::Search::Extension +end + class Dir def children(); end @@ -6979,37 +6983,81 @@ class Enumerator::Generator def initialize(*_); end end -Errno::EAUTH = Errno::NOERROR +class Errno::EAUTH + Errno = ::T.let(nil, ::T.untyped) +end -Errno::EBADARCH = Errno::NOERROR +class Errno::EAUTH +end -Errno::EBADEXEC = Errno::NOERROR +class Errno::EBADARCH + Errno = ::T.let(nil, ::T.untyped) +end -Errno::EBADMACHO = Errno::NOERROR +class Errno::EBADARCH +end -Errno::EBADRPC = Errno::NOERROR +class Errno::EBADEXEC + Errno = ::T.let(nil, ::T.untyped) +end -Errno::ECAPMODE = Errno::NOERROR +class Errno::EBADEXEC +end -Errno::EDEADLOCK = Errno::EDEADLK +class Errno::EBADMACHO + Errno = ::T.let(nil, ::T.untyped) +end -Errno::EDEVERR = Errno::NOERROR +class Errno::EBADMACHO +end + +class Errno::EBADRPC + Errno = ::T.let(nil, ::T.untyped) +end + +class Errno::EBADRPC +end + +Errno::EDEADLOCK = Errno::NOERROR + +class Errno::EDEVERR + Errno = ::T.let(nil, ::T.untyped) +end + +class Errno::EDEVERR +end Errno::EDOOFUS = Errno::NOERROR -Errno::EFTYPE = Errno::NOERROR +class Errno::EFTYPE + Errno = ::T.let(nil, ::T.untyped) +end + +class Errno::EFTYPE +end Errno::EIPSEC = Errno::NOERROR -Errno::ELAST = Errno::NOERROR +class Errno::ENEEDAUTH + Errno = ::T.let(nil, ::T.untyped) +end -Errno::ENEEDAUTH = Errno::NOERROR +class Errno::ENEEDAUTH +end -Errno::ENOATTR = Errno::NOERROR +class Errno::ENOATTR + Errno = ::T.let(nil, ::T.untyped) +end -Errno::ENOPOLICY = Errno::NOERROR +class Errno::ENOATTR +end -Errno::ENOTCAPABLE = Errno::NOERROR +class Errno::ENOPOLICY + Errno = ::T.let(nil, ::T.untyped) +end + +class Errno::ENOPOLICY +end class Errno::ENOTSUP Errno = ::T.let(nil, ::T.untyped) @@ -7018,21 +7066,61 @@ end class Errno::ENOTSUP end -Errno::EPROCLIM = Errno::NOERROR +class Errno::EPROCLIM + Errno = ::T.let(nil, ::T.untyped) +end -Errno::EPROCUNAVAIL = Errno::NOERROR +class Errno::EPROCLIM +end -Errno::EPROGMISMATCH = Errno::NOERROR +class Errno::EPROCUNAVAIL + Errno = ::T.let(nil, ::T.untyped) +end -Errno::EPROGUNAVAIL = Errno::NOERROR +class Errno::EPROCUNAVAIL +end -Errno::EPWROFF = Errno::NOERROR +class Errno::EPROGMISMATCH + Errno = ::T.let(nil, ::T.untyped) +end -Errno::EQFULL = Errno::NOERROR +class Errno::EPROGMISMATCH +end -Errno::ERPCMISMATCH = Errno::NOERROR +class Errno::EPROGUNAVAIL + Errno = ::T.let(nil, ::T.untyped) +end -Errno::ESHLIBVERS = Errno::NOERROR +class Errno::EPROGUNAVAIL +end + +class Errno::EPWROFF + Errno = ::T.let(nil, ::T.untyped) +end + +class Errno::EPWROFF +end + +class Errno::EQFULL + Errno = ::T.let(nil, ::T.untyped) +end + +class Errno::EQFULL +end + +class Errno::ERPCMISMATCH + Errno = ::T.let(nil, ::T.untyped) +end + +class Errno::ERPCMISMATCH +end + +class Errno::ESHLIBVERS + Errno = ::T.let(nil, ::T.untyped) +end + +class Errno::ESHLIBVERS +end class Etc::Group def gid(); end @@ -7062,8 +7150,16 @@ class Etc::Group end class Etc::Passwd + def change(); end + + def change=(_); end + def dir=(_); end + def expire(); end + + def expire=(_); end + def gecos(); end def gecos=(_); end @@ -7076,6 +7172,10 @@ class Etc::Passwd def shell=(_); end + def uclass(); end + + def uclass=(_); end + def uid=(_); end end @@ -7171,10 +7271,6 @@ module Fiddle WINDOWS = ::T.let(nil, ::T.untyped) end -class Fiddle::Function - STDCALL = ::T.let(nil, ::T.untyped) -end - class File def self.atomic_write(file_name, temp_dir=T.unsafe(nil)); end @@ -8203,9 +8299,15 @@ module Homebrew::MissingFormula extend ::T::Private::Methods::SingletonMethodHooks end +module Homebrew::Search + include ::Homebrew::Search::Extension +end + module Homebrew extend ::FileUtils::StreamUtils_ + extend ::Homebrew::Search::Extension extend ::DependenciesHelpers::Compat + extend ::Homebrew::Compat def self.default_prefix?(prefix=T.unsafe(nil)); end end @@ -13375,6 +13477,7 @@ class Object def to_query(key); end def to_yaml(options=T.unsafe(nil)); end + APPLE_GEM_HOME = ::T.let(nil, ::T.untyped) APPLY_A = ::T.let(nil, ::T.untyped) APPLY_B = ::T.let(nil, ::T.untyped) APPLY_C = ::T.let(nil, ::T.untyped) @@ -13447,6 +13550,8 @@ class Object RUBY_DESCRIPTION = ::T.let(nil, ::T.untyped) RUBY_ENGINE = ::T.let(nil, ::T.untyped) RUBY_ENGINE_VERSION = ::T.let(nil, ::T.untyped) + RUBY_FRAMEWORK = ::T.let(nil, ::T.untyped) + RUBY_FRAMEWORK_VERSION = ::T.let(nil, ::T.untyped) RUBY_PATCHLEVEL = ::T.let(nil, ::T.untyped) RUBY_PATH = ::T.let(nil, ::T.untyped) RUBY_PLATFORM = ::T.let(nil, ::T.untyped) @@ -13507,11 +13612,7 @@ class OpenSSL::KDF::KDFError end module OpenSSL::KDF - def self.hkdf(*_); end - def self.pbkdf2_hmac(*_); end - - def self.scrypt(*_); end end class OpenSSL::OCSP::Request @@ -13520,29 +13621,20 @@ end OpenSSL::PKCS7::Signer = OpenSSL::PKCS7::SignerInfo -class OpenSSL::PKey::EC - EXPLICIT_CURVE = ::T.let(nil, ::T.untyped) -end - class OpenSSL::PKey::EC::Point def to_octet_string(_); end end module OpenSSL::SSL - OP_ALLOW_NO_DHE_KEX = ::T.let(nil, ::T.untyped) OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION = ::T.let(nil, ::T.untyped) OP_CRYPTOPRO_TLSEXT_BUG = ::T.let(nil, ::T.untyped) OP_LEGACY_SERVER_CONNECT = ::T.let(nil, ::T.untyped) - OP_NO_ENCRYPT_THEN_MAC = ::T.let(nil, ::T.untyped) - OP_NO_RENEGOTIATION = ::T.let(nil, ::T.untyped) - OP_NO_TLSv1_3 = ::T.let(nil, ::T.untyped) OP_SAFARI_ECDHE_ECDSA_BUG = ::T.let(nil, ::T.untyped) OP_TLSEXT_PADDING = ::T.let(nil, ::T.untyped) SSL2_VERSION = ::T.let(nil, ::T.untyped) SSL3_VERSION = ::T.let(nil, ::T.untyped) TLS1_1_VERSION = ::T.let(nil, ::T.untyped) TLS1_2_VERSION = ::T.let(nil, ::T.untyped) - TLS1_3_VERSION = ::T.let(nil, ::T.untyped) TLS1_VERSION = ::T.let(nil, ::T.untyped) end @@ -13557,8 +13649,6 @@ class OpenSSL::SSL::SSLContext def alpn_select_cb=(alpn_select_cb); end - def enable_fallback_scsv(); end - def max_version=(version); end def min_version=(version); end @@ -15139,8 +15229,8 @@ class Parser::Ruby26 end class Pathname - include ::ELFShim include ::MachOShim + include ::ELFShim def fnmatch?(*_); end def glob(*_); end @@ -28283,6 +28373,188 @@ module Singleton def self.__init__(klass); end end +class Socket + AF_CCITT = ::T.let(nil, ::T.untyped) + AF_CHAOS = ::T.let(nil, ::T.untyped) + AF_CNT = ::T.let(nil, ::T.untyped) + AF_COIP = ::T.let(nil, ::T.untyped) + AF_DATAKIT = ::T.let(nil, ::T.untyped) + AF_DLI = ::T.let(nil, ::T.untyped) + AF_E164 = ::T.let(nil, ::T.untyped) + AF_ECMA = ::T.let(nil, ::T.untyped) + AF_HYLINK = ::T.let(nil, ::T.untyped) + AF_IMPLINK = ::T.let(nil, ::T.untyped) + AF_ISO = ::T.let(nil, ::T.untyped) + AF_LAT = ::T.let(nil, ::T.untyped) + AF_LINK = ::T.let(nil, ::T.untyped) + AF_NATM = ::T.let(nil, ::T.untyped) + AF_NDRV = ::T.let(nil, ::T.untyped) + AF_NETBIOS = ::T.let(nil, ::T.untyped) + AF_NS = ::T.let(nil, ::T.untyped) + AF_OSI = ::T.let(nil, ::T.untyped) + AF_PPP = ::T.let(nil, ::T.untyped) + AF_PUP = ::T.let(nil, ::T.untyped) + AF_SIP = ::T.let(nil, ::T.untyped) + AF_SYSTEM = ::T.let(nil, ::T.untyped) + AI_DEFAULT = ::T.let(nil, ::T.untyped) + AI_MASK = ::T.let(nil, ::T.untyped) + AI_V4MAPPED_CFG = ::T.let(nil, ::T.untyped) + EAI_BADHINTS = ::T.let(nil, ::T.untyped) + EAI_MAX = ::T.let(nil, ::T.untyped) + EAI_PROTOCOL = ::T.let(nil, ::T.untyped) + IFF_ALTPHYS = ::T.let(nil, ::T.untyped) + IFF_LINK0 = ::T.let(nil, ::T.untyped) + IFF_LINK1 = ::T.let(nil, ::T.untyped) + IFF_LINK2 = ::T.let(nil, ::T.untyped) + IFF_OACTIVE = ::T.let(nil, ::T.untyped) + IFF_SIMPLEX = ::T.let(nil, ::T.untyped) + IPPROTO_EON = ::T.let(nil, ::T.untyped) + IPPROTO_GGP = ::T.let(nil, ::T.untyped) + IPPROTO_HELLO = ::T.let(nil, ::T.untyped) + IPPROTO_MAX = ::T.let(nil, ::T.untyped) + IPPROTO_ND = ::T.let(nil, ::T.untyped) + IPPROTO_XTP = ::T.let(nil, ::T.untyped) + IPV6_DONTFRAG = ::T.let(nil, ::T.untyped) + IPV6_PATHMTU = ::T.let(nil, ::T.untyped) + IPV6_RECVPATHMTU = ::T.let(nil, ::T.untyped) + IPV6_USE_MIN_MTU = ::T.let(nil, ::T.untyped) + IP_PORTRANGE = ::T.let(nil, ::T.untyped) + IP_RECVDSTADDR = ::T.let(nil, ::T.untyped) + IP_RECVIF = ::T.let(nil, ::T.untyped) + LOCAL_PEERCRED = ::T.let(nil, ::T.untyped) + MSG_EOF = ::T.let(nil, ::T.untyped) + MSG_FLUSH = ::T.let(nil, ::T.untyped) + MSG_HAVEMORE = ::T.let(nil, ::T.untyped) + MSG_HOLD = ::T.let(nil, ::T.untyped) + MSG_RCVMORE = ::T.let(nil, ::T.untyped) + MSG_SEND = ::T.let(nil, ::T.untyped) + PF_CCITT = ::T.let(nil, ::T.untyped) + PF_CHAOS = ::T.let(nil, ::T.untyped) + PF_CNT = ::T.let(nil, ::T.untyped) + PF_COIP = ::T.let(nil, ::T.untyped) + PF_DATAKIT = ::T.let(nil, ::T.untyped) + PF_DLI = ::T.let(nil, ::T.untyped) + PF_ECMA = ::T.let(nil, ::T.untyped) + PF_HYLINK = ::T.let(nil, ::T.untyped) + PF_IMPLINK = ::T.let(nil, ::T.untyped) + PF_ISO = ::T.let(nil, ::T.untyped) + PF_LAT = ::T.let(nil, ::T.untyped) + PF_LINK = ::T.let(nil, ::T.untyped) + PF_NATM = ::T.let(nil, ::T.untyped) + PF_NDRV = ::T.let(nil, ::T.untyped) + PF_NETBIOS = ::T.let(nil, ::T.untyped) + PF_NS = ::T.let(nil, ::T.untyped) + PF_OSI = ::T.let(nil, ::T.untyped) + PF_PIP = ::T.let(nil, ::T.untyped) + PF_PPP = ::T.let(nil, ::T.untyped) + PF_PUP = ::T.let(nil, ::T.untyped) + PF_RTIP = ::T.let(nil, ::T.untyped) + PF_SIP = ::T.let(nil, ::T.untyped) + PF_SYSTEM = ::T.let(nil, ::T.untyped) + PF_XTP = ::T.let(nil, ::T.untyped) + SCM_CREDS = ::T.let(nil, ::T.untyped) + SO_DONTTRUNC = ::T.let(nil, ::T.untyped) + SO_NKE = ::T.let(nil, ::T.untyped) + SO_NOSIGPIPE = ::T.let(nil, ::T.untyped) + SO_NREAD = ::T.let(nil, ::T.untyped) + SO_USELOOPBACK = ::T.let(nil, ::T.untyped) + SO_WANTMORE = ::T.let(nil, ::T.untyped) + SO_WANTOOBFLAG = ::T.let(nil, ::T.untyped) + TCP_NOOPT = ::T.let(nil, ::T.untyped) + TCP_NOPUSH = ::T.let(nil, ::T.untyped) +end + +module Socket::Constants + AF_CCITT = ::T.let(nil, ::T.untyped) + AF_CHAOS = ::T.let(nil, ::T.untyped) + AF_CNT = ::T.let(nil, ::T.untyped) + AF_COIP = ::T.let(nil, ::T.untyped) + AF_DATAKIT = ::T.let(nil, ::T.untyped) + AF_DLI = ::T.let(nil, ::T.untyped) + AF_E164 = ::T.let(nil, ::T.untyped) + AF_ECMA = ::T.let(nil, ::T.untyped) + AF_HYLINK = ::T.let(nil, ::T.untyped) + AF_IMPLINK = ::T.let(nil, ::T.untyped) + AF_ISO = ::T.let(nil, ::T.untyped) + AF_LAT = ::T.let(nil, ::T.untyped) + AF_LINK = ::T.let(nil, ::T.untyped) + AF_NATM = ::T.let(nil, ::T.untyped) + AF_NDRV = ::T.let(nil, ::T.untyped) + AF_NETBIOS = ::T.let(nil, ::T.untyped) + AF_NS = ::T.let(nil, ::T.untyped) + AF_OSI = ::T.let(nil, ::T.untyped) + AF_PPP = ::T.let(nil, ::T.untyped) + AF_PUP = ::T.let(nil, ::T.untyped) + AF_SIP = ::T.let(nil, ::T.untyped) + AF_SYSTEM = ::T.let(nil, ::T.untyped) + AI_DEFAULT = ::T.let(nil, ::T.untyped) + AI_MASK = ::T.let(nil, ::T.untyped) + AI_V4MAPPED_CFG = ::T.let(nil, ::T.untyped) + EAI_BADHINTS = ::T.let(nil, ::T.untyped) + EAI_MAX = ::T.let(nil, ::T.untyped) + EAI_PROTOCOL = ::T.let(nil, ::T.untyped) + IFF_ALTPHYS = ::T.let(nil, ::T.untyped) + IFF_LINK0 = ::T.let(nil, ::T.untyped) + IFF_LINK1 = ::T.let(nil, ::T.untyped) + IFF_LINK2 = ::T.let(nil, ::T.untyped) + IFF_OACTIVE = ::T.let(nil, ::T.untyped) + IFF_SIMPLEX = ::T.let(nil, ::T.untyped) + IPPROTO_EON = ::T.let(nil, ::T.untyped) + IPPROTO_GGP = ::T.let(nil, ::T.untyped) + IPPROTO_HELLO = ::T.let(nil, ::T.untyped) + IPPROTO_MAX = ::T.let(nil, ::T.untyped) + IPPROTO_ND = ::T.let(nil, ::T.untyped) + IPPROTO_XTP = ::T.let(nil, ::T.untyped) + IPV6_DONTFRAG = ::T.let(nil, ::T.untyped) + IPV6_PATHMTU = ::T.let(nil, ::T.untyped) + IPV6_RECVPATHMTU = ::T.let(nil, ::T.untyped) + IPV6_USE_MIN_MTU = ::T.let(nil, ::T.untyped) + IP_PORTRANGE = ::T.let(nil, ::T.untyped) + IP_RECVDSTADDR = ::T.let(nil, ::T.untyped) + IP_RECVIF = ::T.let(nil, ::T.untyped) + LOCAL_PEERCRED = ::T.let(nil, ::T.untyped) + MSG_EOF = ::T.let(nil, ::T.untyped) + MSG_FLUSH = ::T.let(nil, ::T.untyped) + MSG_HAVEMORE = ::T.let(nil, ::T.untyped) + MSG_HOLD = ::T.let(nil, ::T.untyped) + MSG_RCVMORE = ::T.let(nil, ::T.untyped) + MSG_SEND = ::T.let(nil, ::T.untyped) + PF_CCITT = ::T.let(nil, ::T.untyped) + PF_CHAOS = ::T.let(nil, ::T.untyped) + PF_CNT = ::T.let(nil, ::T.untyped) + PF_COIP = ::T.let(nil, ::T.untyped) + PF_DATAKIT = ::T.let(nil, ::T.untyped) + PF_DLI = ::T.let(nil, ::T.untyped) + PF_ECMA = ::T.let(nil, ::T.untyped) + PF_HYLINK = ::T.let(nil, ::T.untyped) + PF_IMPLINK = ::T.let(nil, ::T.untyped) + PF_ISO = ::T.let(nil, ::T.untyped) + PF_LAT = ::T.let(nil, ::T.untyped) + PF_LINK = ::T.let(nil, ::T.untyped) + PF_NATM = ::T.let(nil, ::T.untyped) + PF_NDRV = ::T.let(nil, ::T.untyped) + PF_NETBIOS = ::T.let(nil, ::T.untyped) + PF_NS = ::T.let(nil, ::T.untyped) + PF_OSI = ::T.let(nil, ::T.untyped) + PF_PIP = ::T.let(nil, ::T.untyped) + PF_PPP = ::T.let(nil, ::T.untyped) + PF_PUP = ::T.let(nil, ::T.untyped) + PF_RTIP = ::T.let(nil, ::T.untyped) + PF_SIP = ::T.let(nil, ::T.untyped) + PF_SYSTEM = ::T.let(nil, ::T.untyped) + PF_XTP = ::T.let(nil, ::T.untyped) + SCM_CREDS = ::T.let(nil, ::T.untyped) + SO_DONTTRUNC = ::T.let(nil, ::T.untyped) + SO_NKE = ::T.let(nil, ::T.untyped) + SO_NOSIGPIPE = ::T.let(nil, ::T.untyped) + SO_NREAD = ::T.let(nil, ::T.untyped) + SO_USELOOPBACK = ::T.let(nil, ::T.untyped) + SO_WANTMORE = ::T.let(nil, ::T.untyped) + SO_WANTOOBFLAG = ::T.let(nil, ::T.untyped) + TCP_NOOPT = ::T.let(nil, ::T.untyped) + TCP_NOPUSH = ::T.let(nil, ::T.untyped) +end + class SoftwareSpec def cached_download(*args, &block); end diff --git a/Library/Homebrew/test/cli/parser_spec.rb b/Library/Homebrew/test/cli/parser_spec.rb index d678b332cc..7f1c71c3ad 100644 --- a/Library/Homebrew/test/cli/parser_spec.rb +++ b/Library/Homebrew/test/cli/parser_spec.rb @@ -246,7 +246,7 @@ describe Homebrew::CLI::Parser do end } - it "raises exception upon Homebrew.args mutation" do + it "raises exception when arguments were already parsed" do parser.parse(["--switch-a"]) expect { parser.parse(["--switch-b"]) }.to raise_error(RuntimeError, /Arguments were already parsed!/) end diff --git a/Library/Homebrew/utils/livecheck_formula.rb b/Library/Homebrew/utils/livecheck_formula.rb index bd08714def..628d5b874b 100644 --- a/Library/Homebrew/utils/livecheck_formula.rb +++ b/Library/Homebrew/utils/livecheck_formula.rb @@ -1,14 +1,18 @@ # typed: false # frozen_string_literal: true +require "context" + # Helper module for parsing output of `brew livecheck`. # # @api private module LivecheckFormula + extend Context + module_function def init(formula) - ohai "Checking livecheck formula: #{formula}" if Homebrew.args.verbose? + ohai "Checking livecheck formula: #{formula}" if verbose? response = Utils.popen_read(HOMEBREW_BREW_FILE, "livecheck", formula, "--quiet").chomp