formula: add any_installed_version
This commit is contained in:
parent
5def0701ba
commit
f366280e18
@ -219,8 +219,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
opoo msg if msg
|
opoo msg if msg
|
||||||
elsif !f.any_version_installed? && old_formula = f.old_installed_formulae.first
|
elsif !f.any_version_installed? && old_formula = f.old_installed_formulae.first
|
||||||
installed_version = old_formula.any_installed_keg.version
|
msg = "#{old_formula.full_name} #{old_formula.any_installed_version} already installed"
|
||||||
msg = "#{old_formula.full_name} #{installed_version} already installed"
|
|
||||||
if !old_formula.linked? && !old_formula.keg_only?
|
if !old_formula.linked? && !old_formula.keg_only?
|
||||||
msg = <<~EOS
|
msg = <<~EOS
|
||||||
#{msg}, it's just not linked.
|
#{msg}, it's just not linked.
|
||||||
|
|||||||
@ -1625,6 +1625,10 @@ class Formula
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def any_installed_version
|
||||||
|
any_installed_keg&.version
|
||||||
|
end
|
||||||
|
|
||||||
# Returns a list of Dependency objects that are required at runtime.
|
# Returns a list of Dependency objects that are required at runtime.
|
||||||
# @private
|
# @private
|
||||||
def runtime_dependencies(read_from_tab: true, undeclared: true)
|
def runtime_dependencies(read_from_tab: true, undeclared: true)
|
||||||
|
|||||||
@ -14,7 +14,7 @@ module Language
|
|||||||
next false unless f.any_version_installed?
|
next false unless f.any_version_installed?
|
||||||
|
|
||||||
unless version.zero?
|
unless version.zero?
|
||||||
major = f.any_installed_keg.version.major
|
major = f.any_installed_version.major
|
||||||
next false if major < version
|
next false if major < version
|
||||||
next false if major > version && !can_be_newer
|
next false if major > version && !can_be_newer
|
||||||
end
|
end
|
||||||
|
|||||||
@ -81,7 +81,7 @@ module Homebrew
|
|||||||
formula.head.downloader.shutup! if formula.head?
|
formula.head.downloader.shutup! if formula.head?
|
||||||
|
|
||||||
current = if formula.head?
|
current = if formula.head?
|
||||||
formula.any_installed_keg.version.version.commit
|
formula.any_installed_version.version.commit
|
||||||
else
|
else
|
||||||
formula.version
|
formula.version
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1344,4 +1344,22 @@ describe Formula do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "#any_installed_version" do
|
||||||
|
let(:f) do
|
||||||
|
Class.new(Testball) do
|
||||||
|
version "1.0"
|
||||||
|
revision 1
|
||||||
|
end.new
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns nil when not installed" do
|
||||||
|
expect(f.any_installed_version).to be nil
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns package version when installed" do
|
||||||
|
f.brew { f.install }
|
||||||
|
expect(f.any_installed_version).to eq(PkgVersion.parse("1.0_1"))
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user