formula: add any_installed_version
This commit is contained in:
parent
5def0701ba
commit
f366280e18
@ -219,8 +219,7 @@ module Homebrew
|
||||
end
|
||||
opoo msg if msg
|
||||
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} #{installed_version} already installed"
|
||||
msg = "#{old_formula.full_name} #{old_formula.any_installed_version} already installed"
|
||||
if !old_formula.linked? && !old_formula.keg_only?
|
||||
msg = <<~EOS
|
||||
#{msg}, it's just not linked.
|
||||
|
||||
@ -1625,6 +1625,10 @@ class Formula
|
||||
end
|
||||
end
|
||||
|
||||
def any_installed_version
|
||||
any_installed_keg&.version
|
||||
end
|
||||
|
||||
# Returns a list of Dependency objects that are required at runtime.
|
||||
# @private
|
||||
def runtime_dependencies(read_from_tab: true, undeclared: true)
|
||||
|
||||
@ -14,7 +14,7 @@ module Language
|
||||
next false unless f.any_version_installed?
|
||||
|
||||
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 && !can_be_newer
|
||||
end
|
||||
|
||||
@ -81,7 +81,7 @@ module Homebrew
|
||||
formula.head.downloader.shutup! if formula.head?
|
||||
|
||||
current = if formula.head?
|
||||
formula.any_installed_keg.version.version.commit
|
||||
formula.any_installed_version.version.commit
|
||||
else
|
||||
formula.version
|
||||
end
|
||||
|
||||
@ -1344,4 +1344,22 @@ describe Formula do
|
||||
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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user