Merge pull request #8635 from Rylan12/deprecate_disable_info
deprecate_disable: refactor and add to `info`
This commit is contained in:
commit
7d92454a56
@ -9,6 +9,7 @@ require "keg"
|
||||
require "tab"
|
||||
require "json"
|
||||
require "utils/spdx"
|
||||
require "deprecate_disable"
|
||||
|
||||
module Homebrew
|
||||
module_function
|
||||
@ -176,6 +177,15 @@ module Homebrew
|
||||
puts f.desc if f.desc
|
||||
puts Formatter.url(f.homepage) if f.homepage
|
||||
|
||||
deprecate_disable_type, deprecate_disable_reason = DeprecateDisable.deprecate_disable_info f
|
||||
if deprecate_disable_type.present?
|
||||
if deprecate_disable_reason.present?
|
||||
puts "#{deprecate_disable_type.capitalize} because it #{deprecate_disable_reason}!"
|
||||
else
|
||||
puts "#{deprecate_disable_type.capitalize}!"
|
||||
end
|
||||
end
|
||||
|
||||
conflicts = f.conflicts.map do |c|
|
||||
reason = " (because #{c.reason})" if c.reason
|
||||
"#{c.name}#{reason}"
|
||||
|
||||
35
Library/Homebrew/deprecate_disable.rb
Normal file
35
Library/Homebrew/deprecate_disable.rb
Normal file
@ -0,0 +1,35 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# Helper module for handling disable! and deprecate!
|
||||
#
|
||||
# @api private
|
||||
module DeprecateDisable
|
||||
module_function
|
||||
|
||||
DEPRECATE_DISABLE_REASONS = {
|
||||
does_not_build: "does not build",
|
||||
no_license: "has no license",
|
||||
repo_archived: "has an archived upstream repository",
|
||||
repo_removed: "has a removed upstream repository",
|
||||
unmaintained: "is not maintained upstream",
|
||||
unsupported: "is not supported upstream",
|
||||
deprecated_upstream: "is deprecated upstream",
|
||||
versioned_formula: "is a versioned formula",
|
||||
}.freeze
|
||||
|
||||
def deprecate_disable_info(formula)
|
||||
return unless formula.deprecated? || formula.disabled?
|
||||
|
||||
if formula.deprecated?
|
||||
type = :deprecated
|
||||
reason = formula.deprecation_reason
|
||||
else
|
||||
type = :disabled
|
||||
reason = formula.disable_reason
|
||||
end
|
||||
|
||||
reason = DEPRECATE_DISABLE_REASONS[reason] if DEPRECATE_DISABLE_REASONS.key? reason
|
||||
|
||||
[type, reason]
|
||||
end
|
||||
end
|
||||
@ -20,6 +20,7 @@ require "cask/cask_loader"
|
||||
require "cmd/install"
|
||||
require "find"
|
||||
require "utils/spdx"
|
||||
require "deprecate_disable"
|
||||
|
||||
# Installer for a formula.
|
||||
#
|
||||
@ -202,40 +203,22 @@ class FormulaInstaller
|
||||
def check_install_sanity
|
||||
raise FormulaInstallationAlreadyAttemptedError, formula if self.class.attempted.include?(formula)
|
||||
|
||||
deprecate_disable_reasons = {
|
||||
does_not_build: "does not build",
|
||||
no_license: "has no license",
|
||||
repo_archived: "has an archived upstream repository",
|
||||
repo_removed: "has a removed upstream repository",
|
||||
unmaintained: "is not maintained upstream",
|
||||
unsupported: "is not supported upstream",
|
||||
deprecated_upstream: "is deprecated upstream",
|
||||
versioned_formula: "is a versioned formula",
|
||||
}
|
||||
type, reason = DeprecateDisable.deprecate_disable_info formula
|
||||
|
||||
if formula.deprecated?
|
||||
if formula.deprecation_reason.present?
|
||||
reason = if deprecate_disable_reasons.key? formula.deprecation_reason
|
||||
deprecate_disable_reasons[formula.deprecation_reason]
|
||||
if type.present?
|
||||
case type
|
||||
when :deprecated
|
||||
if reason.present?
|
||||
opoo "#{formula.full_name} has been deprecated because it #{reason}!"
|
||||
else
|
||||
formula.deprecation_reason
|
||||
opoo "#{formula.full_name} has been deprecated!"
|
||||
end
|
||||
|
||||
opoo "#{formula.full_name} has been deprecated because it #{reason}!"
|
||||
else
|
||||
opoo "#{formula.full_name} has been deprecated!"
|
||||
end
|
||||
elsif formula.disabled?
|
||||
if formula.disable_reason.present?
|
||||
reason = if deprecate_disable_reasons.key? formula.disable_reason
|
||||
deprecate_disable_reasons[formula.disable_reason]
|
||||
when :disabled
|
||||
if reason.present?
|
||||
odie "#{formula.full_name} has been disabled because it #{reason}!"
|
||||
else
|
||||
formula.disable_reason
|
||||
odie "#{formula.full_name} has been disabled!"
|
||||
end
|
||||
|
||||
odie "#{formula.full_name} has been disabled because it #{reason}!"
|
||||
else
|
||||
odie "#{formula.full_name} has been disabled!"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user