diff --git a/Library/Homebrew/test/uninstall_spec.rb b/Library/Homebrew/test/uninstall_spec.rb index 530a687310cb0..30ecd504b13ea 100644 --- a/Library/Homebrew/test/uninstall_spec.rb +++ b/Library/Homebrew/test/uninstall_spec.rb @@ -47,17 +47,7 @@ end describe "::handle_unsatisfied_dependents" do - specify "when developer" do - ENV["HOMEBREW_DEVELOPER"] = "1" - - expect do - described_class.handle_unsatisfied_dependents(kegs_by_rack) - end.to output(/Warning/).to_stderr - - expect(Homebrew).not_to have_failed - end - - specify "when not developer" do + specify "when `ignore_dependencies` is false" do expect do described_class.handle_unsatisfied_dependents(kegs_by_rack) end.to output(/Error/).to_stderr @@ -65,7 +55,7 @@ expect(Homebrew).to have_failed end - specify "when not developer and `ignore_dependencies` is true" do + specify "when `ignore_dependencies` is true" do expect do described_class.handle_unsatisfied_dependents(kegs_by_rack, ignore_dependencies: true) end.not_to output.to_stderr diff --git a/Library/Homebrew/uninstall.rb b/Library/Homebrew/uninstall.rb index fd14e8ce8d08e..ba03abc04f960 100644 --- a/Library/Homebrew/uninstall.rb +++ b/Library/Homebrew/uninstall.rb @@ -106,12 +106,7 @@ def self.handle_unsatisfied_dependents(kegs_by_rack, casks: [], ignore_dependenc def self.check_for_dependents(kegs, casks: [], named_args: []) return false unless (result = InstalledDependents.find_some_installed_dependents(kegs, casks:)) - if Homebrew::EnvConfig.developer? - DeveloperDependentsMessage.new(*result, named_args:).output - else - NondeveloperDependentsMessage.new(*result, named_args:).output - end - + DependentsMessage.new(*result, named_args:).output true end @@ -124,6 +119,15 @@ def initialize(requireds, dependents, named_args: []) @named_args = named_args end + def output + ofail <<~EOS + Refusing to uninstall #{reqs.to_sentence} + because #{(reqs.count == 1) ? "it" : "they"} #{are_required_by_deps}. + You can override this and force removal with: + #{sample_command} + EOS + end + protected def sample_command @@ -136,27 +140,6 @@ def are_required_by_deps end end - class DeveloperDependentsMessage < DependentsMessage - def output - opoo <<~EOS - #{reqs.to_sentence} #{are_required_by_deps}. - You can silence this warning with: - #{sample_command} - EOS - end - end - - class NondeveloperDependentsMessage < DependentsMessage - def output - ofail <<~EOS - Refusing to uninstall #{reqs.to_sentence} - because #{(reqs.count == 1) ? "it" : "they"} #{are_required_by_deps}. - You can override this and force removal with: - #{sample_command} - EOS - end - end - def self.rm_pin(rack) Formulary.from_rack(rack).unpin rescue