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 "tab"
|
||||||
require "json"
|
require "json"
|
||||||
require "utils/spdx"
|
require "utils/spdx"
|
||||||
|
require "deprecate_disable"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module_function
|
module_function
|
||||||
@ -176,6 +177,15 @@ module Homebrew
|
|||||||
puts f.desc if f.desc
|
puts f.desc if f.desc
|
||||||
puts Formatter.url(f.homepage) if f.homepage
|
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|
|
conflicts = f.conflicts.map do |c|
|
||||||
reason = " (because #{c.reason})" if c.reason
|
reason = " (because #{c.reason})" if c.reason
|
||||||
"#{c.name}#{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 "cmd/install"
|
||||||
require "find"
|
require "find"
|
||||||
require "utils/spdx"
|
require "utils/spdx"
|
||||||
|
require "deprecate_disable"
|
||||||
|
|
||||||
# Installer for a formula.
|
# Installer for a formula.
|
||||||
#
|
#
|
||||||
@ -202,40 +203,22 @@ class FormulaInstaller
|
|||||||
def check_install_sanity
|
def check_install_sanity
|
||||||
raise FormulaInstallationAlreadyAttemptedError, formula if self.class.attempted.include?(formula)
|
raise FormulaInstallationAlreadyAttemptedError, formula if self.class.attempted.include?(formula)
|
||||||
|
|
||||||
deprecate_disable_reasons = {
|
type, reason = DeprecateDisable.deprecate_disable_info formula
|
||||||
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",
|
|
||||||
}
|
|
||||||
|
|
||||||
if formula.deprecated?
|
if type.present?
|
||||||
if formula.deprecation_reason.present?
|
case type
|
||||||
reason = if deprecate_disable_reasons.key? formula.deprecation_reason
|
when :deprecated
|
||||||
deprecate_disable_reasons[formula.deprecation_reason]
|
if reason.present?
|
||||||
|
opoo "#{formula.full_name} has been deprecated because it #{reason}!"
|
||||||
else
|
else
|
||||||
formula.deprecation_reason
|
opoo "#{formula.full_name} has been deprecated!"
|
||||||
end
|
end
|
||||||
|
when :disabled
|
||||||
opoo "#{formula.full_name} has been deprecated because it #{reason}!"
|
if reason.present?
|
||||||
else
|
odie "#{formula.full_name} has been disabled because it #{reason}!"
|
||||||
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]
|
|
||||||
else
|
else
|
||||||
formula.disable_reason
|
odie "#{formula.full_name} has been disabled!"
|
||||||
end
|
end
|
||||||
|
|
||||||
odie "#{formula.full_name} has been disabled because it #{reason}!"
|
|
||||||
else
|
|
||||||
odie "#{formula.full_name} has been disabled!"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user