diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index fd7dc1ded1..b6f5b884e0 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -18,8 +18,8 @@ defaults: shell: bash -xeuo pipefail {0} env: - # odeprecated: remove 18.04 image in Homebrew >=4.5 - VERSIONS: '["18.04", "20.04", "22.04", "24.04"]' + # odeprecated: remove 20.04 image in Homebrew >=4.7 + VERSIONS: '["20.04", "22.04", "24.04"]' jobs: generate-tags: @@ -146,12 +146,12 @@ jobs: strategy: fail-fast: false matrix: - # odeprecated: remove 18.04 image in Homebrew >=4.5 - version: ["18.04", "20.04", "22.04", "24.04"] + # odeprecated: remove 20.04 image in Homebrew >=4.7 + version: ["20.04", "22.04", "24.04"] arch: ["x86_64", "arm64"] exclude: - # odeprecated: move this to 20.04 in Homebrew >=4.5 and remove 18.04 image - - version: "18.04" + # odeprecated: remove 20.04 image in Homebrew >=4.7 + - version: "20.04" arch: "arm64" - arch: ${{ github.event_name == 'release' && 'arm64' }} steps: @@ -175,9 +175,9 @@ jobs: VERSION: ${{ matrix.version }} PUSH: ${{ needs.generate-tags.outputs.push }} run: | - # odeprecated: move this to 20.04 in Homebrew >=4.5 and remove 18.04 image - if [[ "${VERSION}" == "18.04" ]]; then - echo "The homebrew/ubuntu18.04 image is deprecated and will soon be retired. Use homebrew/ubuntu22.04 or homebrew/ubuntu24.04 or homebrew/brew." > .docker-deprecate + # odeprecated: remove 20.04 image in Homebrew >=4.7 + if [[ "${VERSION}" == "20.04" ]]; then + echo "The homebrew/ubuntu20.04 image is deprecated and will soon be retired. Use homebrew/ubuntu24.04 or homebrew/brew." > .docker-deprecate fi filter="$(printf '.["%s"]' "${VERSION}")" @@ -206,8 +206,8 @@ jobs: echo "HOMEBREW_ARM64_TESTING=1" >> "$GITHUB_ENV" fi - # odeprecated: remove 18.04 in Homebrew >=4.5 - if [[ "${VERSION}" == "18.04" || "${VERSION}" == "20.04" ]]; then + # odeprecated: remove 20.04 in Homebrew >=4.7 + if [[ "${VERSION}" == "20.04" ]]; then echo "HOMEBREW_GLIBC_TESTING=1" >> "$GITHUB_ENV" fi env: @@ -301,8 +301,8 @@ jobs: done <<<"$(jq --raw-output "${filter}" <<<"${TAGS}")" image_args=("ghcr.io/homebrew/ubuntu${VERSION}@sha256:$(<"${RUNNER_TEMP}/digests/${VERSION}-x86_64")") - # odeprecated: move this to 20.04 in Homebrew >=4.5 and remove 18.04 image - if [[ "${VERSION}" != 18.04 ]]; then + # odeprecated: remove 20.04 image in Homebrew >=4.7 + if [[ "${VERSION}" != 20.04 ]]; then image_args+=("ghcr.io/homebrew/ubuntu${VERSION}@sha256:$(<"${RUNNER_TEMP}/digests/${VERSION}-arm64")") fi diff --git a/Library/Homebrew/.rubocop.yml b/Library/Homebrew/.rubocop.yml index f79308777f..eb1ac0740f 100644 --- a/Library/Homebrew/.rubocop.yml +++ b/Library/Homebrew/.rubocop.yml @@ -37,7 +37,6 @@ Style/Documentation: - formula.rb - formula_assertions.rb - formula_free_port.rb - - language/go.rb - language/java.rb - language/node.rb - language/perl.rb diff --git a/Library/Homebrew/bundle.rb b/Library/Homebrew/bundle.rb index 035d8da432..e5676f1094 100644 --- a/Library/Homebrew/bundle.rb +++ b/Library/Homebrew/bundle.rb @@ -109,8 +109,6 @@ module Homebrew ENV.each do |key, value| match = key.match(/^HOMEBREW_BUNDLE_FORMULA_VERSION_(.+)$/) - # odeprecated: get rid of this in Homebrew >=4.5 - match ||= key.match(/^HOMEBREW_BUNDLE_EXEC_FORMULA_VERSION_(.+)$/) next if match.blank? env_formula_name = match[1] diff --git a/Library/Homebrew/bundle/whalebrew_dumper.rb b/Library/Homebrew/bundle/whalebrew_dumper.rb index a2d951d4f3..3ef74394fe 100644 --- a/Library/Homebrew/bundle/whalebrew_dumper.rb +++ b/Library/Homebrew/bundle/whalebrew_dumper.rb @@ -11,7 +11,7 @@ module Homebrew def self.images return [] unless Bundle.whalebrew_installed? - # odeprecated "`brew bundle` `whalebrew` support", "using `whalebrew` directly" + odeprecated "`brew bundle` `whalebrew` support", "using `whalebrew` directly" @images ||= `whalebrew list 2>/dev/null`.split("\n") .reject { |line| line.start_with?("COMMAND ") } .map { |line| line.split(/\s+/).last } diff --git a/Library/Homebrew/bundle/whalebrew_installer.rb b/Library/Homebrew/bundle/whalebrew_installer.rb index 02ca28b947..d9dd75387d 100644 --- a/Library/Homebrew/bundle/whalebrew_installer.rb +++ b/Library/Homebrew/bundle/whalebrew_installer.rb @@ -24,7 +24,7 @@ module Homebrew end def self.install(name, preinstall: true, verbose: false, force: false, **_options) - # odeprecated "`brew bundle` `whalebrew` support", "using `whalebrew` directly" + odeprecated "`brew bundle` `whalebrew` support", "using `whalebrew` directly" return true unless preinstall puts "Installing #{name} image. It is not currently installed." if verbose diff --git a/Library/Homebrew/cask/dsl.rb b/Library/Homebrew/cask/dsl.rb index 4de0e32c32..8a9bc99bb7 100644 --- a/Library/Homebrew/cask/dsl.rb +++ b/Library/Homebrew/cask/dsl.rb @@ -489,11 +489,6 @@ module Cask @caveats end - def discontinued? - odisabled "`discontinued?`", "`deprecated?` or `disabled?`" - @caveats&.discontinued? == true - end - # Asserts that the cask artifacts auto-update. # # @api public @@ -520,7 +515,7 @@ module Cask # for `#livecheck_defined?`. sig { returns(T::Boolean) } def livecheckable? - # odeprecated "`livecheckable?`", "`livecheck_defined?`" + odeprecated "`livecheckable?`", "`livecheck_defined?`" @livecheck_defined == true end @@ -534,14 +529,12 @@ module Cask raise ArgumentError, "more than one of replacement, replacement_formula and/or replacement_cask specified!" end - # TODO: deprecate in >= 4.5.0 - # if replacement - # odeprecated( - # "deprecate!(:replacement)", - # "deprecate!(:replacement_formula) or deprecate!(:replacement_cask)", - # disable_on: Time.new(2025, 10, 15), - # ) - # end + if replacement + odeprecated( + "deprecate!(:replacement)", + "deprecate!(:replacement_formula) or deprecate!(:replacement_cask)", + ) + end @deprecation_date = Date.parse(date) return if @deprecation_date > Date.today @@ -562,14 +555,12 @@ module Cask raise ArgumentError, "more than one of replacement, replacement_formula and/or replacement_cask specified!" end - # TODO: deprecate in >= 4.5.0 - # if replacement - # odeprecated( - # "disable!(:replacement)", - # "disable!(:replacement_formula) or disable!(:replacement_cask)", - # disable_on: Time.new(2025, 10, 15), - # ) - # end + if replacement + odeprecated( + "disable!(:replacement)", + "disable!(:replacement_formula) or disable!(:replacement_cask)", + ) + end @disable_date = Date.parse(date) diff --git a/Library/Homebrew/cask/dsl/caveats.rb b/Library/Homebrew/cask/dsl/caveats.rb index 9d5d38490a..d76604e029 100644 --- a/Library/Homebrew/cask/dsl/caveats.rb +++ b/Library/Homebrew/cask/dsl/caveats.rb @@ -160,15 +160,6 @@ module Cask EOS end - caveat :discontinued do - odisabled "`caveats :discontinued`", "`deprecate!`" - @discontinued = true - <<~EOS - #{@cask} has been officially discontinued upstream. - It may stop working correctly (or at all) in recent versions of macOS. - EOS - end - caveat :license do |web_page| <<~EOS Installing #{@cask} means you have AGREED to the license at: diff --git a/Library/Homebrew/cask/url.rb b/Library/Homebrew/cask/url.rb index 7efafb5a95..c6c9fc9b03 100644 --- a/Library/Homebrew/cask/url.rb +++ b/Library/Homebrew/cask/url.rb @@ -138,7 +138,7 @@ module Cask @dsl = T.let(dsl, ::Cask::DSL) @block = T.let(block, T.proc.params(arg0: T.all(String, PageWithURL)).returns(BlockReturn)) - odeprecated "cask `url do` blocks" if @block + odisabled "cask `url do` blocks" if @block end sig { returns(BlockReturn) } diff --git a/Library/Homebrew/cli/parser.rb b/Library/Homebrew/cli/parser.rb index d74ad34cbe..cebfba76a3 100644 --- a/Library/Homebrew/cli/parser.rb +++ b/Library/Homebrew/cli/parser.rb @@ -167,7 +167,7 @@ module Homebrew @command_name = T.let(T.must(cmd_location.label).chomp("_args").tr("_", "-"), String) @is_dev_cmd = T.let(T.must(cmd_location.absolute_path).start_with?(Commands::HOMEBREW_DEV_CMD_PATH), T::Boolean) - odeprecated( + odisabled( "`brew #{@command_name}'. This command needs to be refactored, as it is written in a style that", "inherits from `Homebrew::AbstractCommand' ( see https://docs.brew.sh/External-Commands )", disable_for_developers: false, diff --git a/Library/Homebrew/env_config.rb b/Library/Homebrew/env_config.rb index 0da43b7ff7..9a04692269 100644 --- a/Library/Homebrew/env_config.rb +++ b/Library/Homebrew/env_config.rb @@ -556,7 +556,7 @@ module Homebrew falsy_values = %w[false no off nil 0] if falsy_values.include?(env_value&.downcase) - odeprecated "#{env}=#{env_value}", <<~EOS.chomp + odisabled "#{env}=#{env_value}", <<~EOS.chomp #{env}=1 to enable and #{env}= (an empty value) to disable EOS end diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index c98c746579..91337f81d1 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -518,7 +518,7 @@ class Pathname # create a RuboCop autocorrect instead soon. # This is why monkeypatching is non-ideal (but right solution to get # Ruby 3.3 over the line). - odeprecated "rmtree", "FileUtils#rm_r" + odisabled "rmtree", "FileUtils#rm_r" FileUtils.rm_r(@path, noop:, verbose:, secure:) nil end diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 1eeed5aa13..ab09573ae2 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -1173,44 +1173,6 @@ class Formula @active_log_type = old_log_type end - # This method can be overridden to provide a plist. - # - # ### Example - # - # ```ruby - # def plist; <<~EOS - # - # - # - # - # Label - # #{plist_name} - # ProgramArguments - # - # #{opt_bin}/example - # --do-this - # - # RunAtLoad - # - # KeepAlive - # - # StandardErrorPath - # /dev/null - # StandardOutPath - # /dev/null - # - # - # EOS - # end - # ``` - # - # @see https://www.unix.com/man-page/all/5/plist/ plist(5) man page - sig { returns(NilClass) } - def plist - odisabled "`Formula#plist`", "`Homebrew::Service`" - nil - end - # The generated launchd {.plist} service name. sig { returns(String) } def plist_name = service.plist_name @@ -2819,13 +2781,13 @@ class Formula ).returns(Pathname) } def fetch(verify_download_integrity: true, timeout: nil, quiet: false) - odeprecated "Formula#fetch", "Resource#fetch on Formula#resource" + odisabled "Formula#fetch", "Resource#fetch on Formula#resource" active_spec.fetch(verify_download_integrity:, timeout:, quiet:) end sig { params(filename: T.any(Pathname, String)).void } def verify_download_integrity(filename) - odeprecated "Formula#verify_download_integrity", "Resource#verify_download_integrity on Formula#resource" + odisabled "Formula#verify_download_integrity", "Resource#verify_download_integrity on Formula#resource" active_spec.verify_download_integrity(filename) end @@ -2936,8 +2898,8 @@ class Formula def inreplace(paths, before = nil, after = nil, old_audit_result = nil, audit_result: true, global: true, &block) # NOTE: must check for `#nil?` and not `#blank?`, or else `old_audit_result = false` will not call `odeprecated`. unless old_audit_result.nil? - odeprecated "inreplace(paths, before, after, #{old_audit_result})", - "inreplace(paths, before, after, audit_result: #{old_audit_result})" + odisabled "inreplace(paths, before, after, #{old_audit_result})", + "inreplace(paths, before, after, audit_result: #{old_audit_result})" audit_result = old_audit_result end Utils::Inreplace.inreplace(paths, before, after, audit_result:, global:, &block) @@ -3564,7 +3526,7 @@ class Formula # and `false` otherwise. sig { returns(T::Boolean) } def livecheckable? - # odeprecated "`livecheckable?`", "`livecheck_defined?`" + odeprecated "`livecheckable?`", "`livecheck_defined?`" @livecheck_defined == true end @@ -3838,15 +3800,6 @@ class Formula end end - # Specify a Go resource. - # - # @api public - sig { params(name: String, block: T.nilable(T.proc.void)).void } - def go_resource(name, &block) - odisabled "`Formula.go_resource`", "Go modules" - specs.each { |spec| spec.go_resource(name, &block) } - end - # The dependencies for this formula. Use strings for the names of other # formulae. Homebrew provides some `:special` {Requirement}s for stuff # that needs extra handling (often changing some ENV vars or @@ -4358,14 +4311,12 @@ class Formula raise ArgumentError, "more than one of replacement, replacement_formula and/or replacement_cask specified!" end - # TODO: deprecate in >= 4.5.0 - # if replacement - # odeprecated( - # "deprecate!(:replacement)", - # "deprecate!(:replacement_formula) or deprecate!(:replacement_cask)", - # disable_on: Time.new(2025, 10, 15), - # ) - # end + if replacement + odeprecated( + "deprecate!(:replacement)", + "deprecate!(:replacement_formula) or deprecate!(:replacement_cask)", + ) + end @deprecation_date = T.let(Date.parse(date), T.nilable(Date)) return if T.must(@deprecation_date) > Date.today @@ -4451,14 +4402,12 @@ class Formula raise ArgumentError, "more than one of replacement, replacement_formula and/or replacement_cask specified!" end - # TODO: deprecate in >= 4.5.0 - # if replacement - # odeprecated( - # "disable!(:replacement)", - # "disable!(:replacement_formula) or deprecate!(:replacement_cask)", - # disable_on: Time.new(2025, 10, 15), - # ) - # end + if replacement + odeprecated( + "disable!(:replacement)", + "disable!(:replacement_formula) or deprecate!(:replacement_cask)", + ) + end @disable_date = T.let(Date.parse(date), T.nilable(Date)) diff --git a/Library/Homebrew/git_repository.rb b/Library/Homebrew/git_repository.rb index f8d1dfc79d..d1871ae908 100644 --- a/Library/Homebrew/git_repository.rb +++ b/Library/Homebrew/git_repository.rb @@ -23,7 +23,7 @@ class GitRepository sig { returns(T::Boolean) } def git_repo? # delete this whole function when removing odisabled - odeprecated "GitRepository#git_repo?", "GitRepository#git_repository?" + odisabled "GitRepository#git_repo?", "GitRepository#git_repository?" git_repository? end diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb index 324a45ea4f..ee4f5fa916 100644 --- a/Library/Homebrew/global.rb +++ b/Library/Homebrew/global.rb @@ -60,13 +60,7 @@ HOMEBREW_PULL_OR_COMMIT_URL_REGEX = %r[https://github\.com/([\w-]+)/([\w-]+)?/(?:pull/(\d+)|commit/[0-9a-fA-F]{4,40})] HOMEBREW_BOTTLES_EXTNAME_REGEX = /\.([a-z0-9_]+)\.bottle\.(?:(\d+)\.)?tar\.gz$/ -# odeprecated: remove this in next major/minor release -require "fileutils" - module Homebrew - # odeprecated: remove this in next major/minor release - extend FileUtils - DEFAULT_PREFIX = T.let(ENV.fetch("HOMEBREW_DEFAULT_PREFIX").freeze, String) DEFAULT_REPOSITORY = T.let(ENV.fetch("HOMEBREW_DEFAULT_REPOSITORY").freeze, String) DEFAULT_CELLAR = "#{DEFAULT_PREFIX}/Cellar".freeze diff --git a/Library/Homebrew/language/go.rb b/Library/Homebrew/language/go.rb deleted file mode 100644 index 2dc65920e5..0000000000 --- a/Library/Homebrew/language/go.rb +++ /dev/null @@ -1,28 +0,0 @@ -# typed: strict -# frozen_string_literal: true - -require "resource" - -module Language - # Helper functions for Go formulae. - # - # @api public - module Go - # Given a set of resources, stages them to a gopath for - # building Go software. - # The resource names should be the import name of the package, - # e.g. `resource "github.com/foo/bar"`. - sig { params(resources: T::Array[Resource], target: T.any(String, Pathname)).void } - def self.stage_deps(resources, target) - odisabled "`Language::Go.stage_deps`", "Go modules" - if resources.empty? - if Homebrew::EnvConfig.developer? - odie "Tried to stage empty Language::Go resources array" - else - opoo "Tried to stage empty Language::Go resources array" - end - end - resources.grep(Resource::Go) { |resource| resource.stage(target) } - end - end -end diff --git a/Library/Homebrew/resource.rb b/Library/Homebrew/resource.rb index 4e2d49eab0..1017c7af9b 100644 --- a/Library/Homebrew/resource.rb +++ b/Library/Homebrew/resource.rb @@ -178,7 +178,7 @@ class Resource # and `false` otherwise. sig { returns(T::Boolean) } def livecheckable? - # odeprecated "`livecheckable?`", "`livecheck_defined?`" + odeprecated "`livecheckable?`", "`livecheck_defined?`" @livecheck_defined == true end diff --git a/Library/Homebrew/rubocops/text.rb b/Library/Homebrew/rubocops/text.rb index 6bbe47f371..21c15615b8 100644 --- a/Library/Homebrew/rubocops/text.rb +++ b/Library/Homebrew/rubocops/text.rb @@ -43,11 +43,9 @@ module RuboCop end end - unless method_called_ever?(body_node, :go_resource) - # processed_source.ast is passed instead of body_node because `require` would be outside body_node - find_method_with_args(processed_source.ast, :require, "language/go") do - problem "require \"language/go\" is unnecessary unless using `go_resource`s" - end + # processed_source.ast is passed instead of body_node because `require` would be outside body_node + find_method_with_args(processed_source.ast, :require, "language/go") do + problem "require \"language/go\" is no longer necessary or correct" end find_instance_method_call(body_node, "Formula", :factory) do diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb index ca7fd3cea1..0926444ec2 100644 --- a/Library/Homebrew/software_spec.rb +++ b/Library/Homebrew/software_spec.rb @@ -154,11 +154,6 @@ class SoftwareSpec end end - def go_resource(name, &block) - odisabled "`SoftwareSpec#go_resource`", "Go modules" - resource name, Resource::Go, &block - end - def option_defined?(name) options.include?(name) end diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb index a00f95b9e1..808544c4dd 100644 --- a/Library/Homebrew/tap.rb +++ b/Library/Homebrew/tap.rb @@ -162,7 +162,7 @@ class Tap sig { returns(T::Boolean) } def repo # delete this whole function when removing odisabled - odeprecated "Tap#repo", "Tap#repository" + odisabled "Tap#repo", "Tap#repository" repository end @@ -284,7 +284,7 @@ class Tap sig { returns(T.nilable(String)) } def remote_repo # delete this whole function when removing odisabled - odeprecated "Tap#remote_repo", "Tap#remote_repository" + odisabled "Tap#remote_repo", "Tap#remote_repository" remote_repository end @@ -306,7 +306,7 @@ class Tap sig { returns(String) } def repo_var_suffix # delete this whole function when removing odisabled - odeprecated "Tap#repo_var_suffix", "Tap#repository_var_suffix" + odisabled "Tap#repo_var_suffix", "Tap#repository_var_suffix" repository_var_suffix end @@ -1080,14 +1080,6 @@ class Tap end end - # An array of all installed {Tap} names. - sig { returns(T::Array[String]) } - def self.names - odisabled "`#{self}.names`" - - map(&:name).sort - end - # An array of official taps that have been manually untapped sig { returns(T::Array[String]) } def self.untapped_official_taps @@ -1189,13 +1181,6 @@ class AbstractCoreTap < Tap super end - sig { void } - def self.ensure_installed! - odisabled "`#{self}.ensure_installed!`", "`#{self}.instance.ensure_installed!`" - - instance.ensure_installed! - end - sig { params(file: Pathname).returns(String) } def formula_file_to_name(file) file.basename(".rb").to_s diff --git a/Library/Homebrew/test/bundle/commands/install_spec.rb b/Library/Homebrew/test/bundle/commands/install_spec.rb index a08398a4c8..f32e3f28e3 100644 --- a/Library/Homebrew/test/bundle/commands/install_spec.rb +++ b/Library/Homebrew/test/bundle/commands/install_spec.rb @@ -23,14 +23,12 @@ RSpec.describe Homebrew::Bundle::Commands::Install do brew 'mysql', conflicts_with: ['mysql56'] cask 'phinze/cask/google-chrome', greedy: true mas '1Password', id: 443987910 - whalebrew 'whalebrew/wget' vscode 'GitHub.codespaces' EOS end it "does not raise an error" do allow(Homebrew::Bundle::TapInstaller).to receive(:preinstall).and_return(false) - allow(Homebrew::Bundle::WhalebrewInstaller).to receive(:preinstall).and_return(false) allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive(:preinstall).and_return(false) allow(Homebrew::Bundle::BrewInstaller).to receive_messages(preinstall: true, install: true) allow(Homebrew::Bundle::CaskInstaller).to receive_messages(preinstall: true, install: true) @@ -41,7 +39,6 @@ RSpec.describe Homebrew::Bundle::Commands::Install do it "#dsl returns a valid DSL" do allow(Homebrew::Bundle::TapInstaller).to receive(:preinstall).and_return(false) - allow(Homebrew::Bundle::WhalebrewInstaller).to receive(:preinstall).and_return(false) allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive(:preinstall).and_return(false) allow(Homebrew::Bundle::BrewInstaller).to receive_messages(preinstall: true, install: true) allow(Homebrew::Bundle::CaskInstaller).to receive_messages(preinstall: true, install: true) @@ -65,7 +62,6 @@ RSpec.describe Homebrew::Bundle::Commands::Install do allow(Homebrew::Bundle::CaskInstaller).to receive_messages(preinstall: true, install: false) allow(Homebrew::Bundle::MacAppStoreInstaller).to receive_messages(preinstall: true, install: false) allow(Homebrew::Bundle::TapInstaller).to receive_messages(preinstall: true, install: false) - allow(Homebrew::Bundle::WhalebrewInstaller).to receive_messages(preinstall: true, install: false) allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive_messages(preinstall: true, install: false) allow_any_instance_of(Pathname).to receive(:read).and_return(brewfile_contents) @@ -77,7 +73,6 @@ RSpec.describe Homebrew::Bundle::Commands::Install do allow(Homebrew::Bundle::TapInstaller).to receive_messages(preinstall: true, install: false) allow(Homebrew::Bundle::BrewInstaller).to receive_messages(preinstall: true, install: true) allow(Homebrew::Bundle::MacAppStoreInstaller).to receive_messages(preinstall: true, install: true) - allow(Homebrew::Bundle::WhalebrewInstaller).to receive_messages(preinstall: true, install: true) allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive_messages(preinstall: true, install: true) allow_any_instance_of(Pathname).to receive(:read).and_return(brewfile_contents) diff --git a/Library/Homebrew/test/bundle/whalebrew_dumper_spec.rb b/Library/Homebrew/test/bundle/whalebrew_dumper_spec.rb index 0a9ce0659b..2ec51ebc54 100644 --- a/Library/Homebrew/test/bundle/whalebrew_dumper_spec.rb +++ b/Library/Homebrew/test/bundle/whalebrew_dumper_spec.rb @@ -6,34 +6,6 @@ require "bundle/whalebrew_dumper" RSpec.describe Homebrew::Bundle::WhalebrewDumper do subject(:dumper) { described_class } - describe ".images" do - before do - dumper.reset! - allow(Homebrew::Bundle).to receive(:whalebrew_installed?).and_return(true) - end - - let(:whalebrew_list_single_output) do - "COMMAND IMAGE\nwget whalebrew/wget" - end - - let(:whalebrew_list_duplicate_output) do - "COMMAND IMAGE\nwget whalebrew/wget\nwget whalebrew/wget" - end - - it "removes the header" do - allow(dumper).to receive(:`).with("whalebrew list 2>/dev/null") - .and_return(whalebrew_list_single_output) - expect(dumper.images).not_to include("COMMAND") - expect(dumper.images).not_to include("IMAGE") - end - - it "dedupes items" do - allow(dumper).to receive(:`).with("whalebrew list 2>/dev/null") - .and_return(whalebrew_list_duplicate_output) - expect(dumper.images).to eq(["whalebrew/wget"]) - end - end - context "when whalebrew is not installed" do before do dumper.reset! diff --git a/Library/Homebrew/test/bundle/whalebrew_installer_spec.rb b/Library/Homebrew/test/bundle/whalebrew_installer_spec.rb index a798abc673..7cc5ee1c0c 100644 --- a/Library/Homebrew/test/bundle/whalebrew_installer_spec.rb +++ b/Library/Homebrew/test/bundle/whalebrew_installer_spec.rb @@ -31,17 +31,6 @@ RSpec.describe Homebrew::Bundle::WhalebrewInstaller do expect(described_class.image_installed?("whalebrew/wget")).to be(true) end end - - context "when an image isn't installed" do - before do - described_class.reset! - end - - it "returns false" do - allow(Homebrew::Bundle::WhalebrewDumper).to receive(:images).and_return([]) - expect(described_class.image_installed?("test/doesnotexist")).to be(false) - end - end end context "when whalebrew isn't installed" do @@ -75,10 +64,5 @@ RSpec.describe Homebrew::Bundle::WhalebrewInstaller do expect(described_class.preinstall("whalebrew/wget")).to be(false) end end - - it "successfully installs an image" do - expect(described_class.preinstall("whalebrew/wget")).to be(true) - expect { described_class.install("whalebrew/wget") }.not_to raise_error - end end end diff --git a/Library/Homebrew/test/rubocops/text_spec.rb b/Library/Homebrew/test/rubocops/text_spec.rb index c37f49e1e6..df7dc19b4b 100644 --- a/Library/Homebrew/test/rubocops/text_spec.rb +++ b/Library/Homebrew/test/rubocops/text_spec.rb @@ -140,7 +140,7 @@ RSpec.describe RuboCop::Cop::FormulaAudit::Text do it 'reports an offense if `require "language/go"` is present' do expect_offense(<<~RUBY) require "language/go" - ^^^^^^^^^^^^^^^^^^^^^ FormulaAudit/Text: require "language/go" is unnecessary unless using `go_resource`s + ^^^^^^^^^^^^^^^^^^^^^ FormulaAudit/Text: require "language/go" is no longer necessary or correct class Foo < Formula url "https://brew.sh/foo-1.0.tgz" diff --git a/Library/Homebrew/test/services/formula_wrapper_spec.rb b/Library/Homebrew/test/services/formula_wrapper_spec.rb index 16280f32de..c8a556dc49 100644 --- a/Library/Homebrew/test/services/formula_wrapper_spec.rb +++ b/Library/Homebrew/test/services/formula_wrapper_spec.rb @@ -167,7 +167,6 @@ RSpec.describe Homebrew::Services::FormulaWrapper do allow(service).to receive_messages(installed?: true, service_file: Pathname.new(File::NULL), formula: instance_double(Formula, - plist: nil, opt_prefix: Pathname.new("/dfslkfhjdsolshlk"))) expect(service.plist?).to be(false) end