Unify Version.create usage

Substitue each Version.new and HeadVersion.new with Version.create
to unify Version and HeadVersion instantiation among core code.

Note that this does not relate to Mac::OS::Version class.
This commit is contained in:
Vlad Shablinsky 2016-07-11 16:09:35 +03:00 committed by Xu Cheng
parent 454003c4c1
commit 3fb5d70a72
No known key found for this signature in database
GPG Key ID: C2A3860FA0B459CE
18 changed files with 49 additions and 49 deletions

View File

@ -606,7 +606,7 @@ class FormulaAuditor
case stable && stable.url
when %r{download\.gnome\.org/sources}, %r{ftp\.gnome\.org/pub/GNOME/sources}i
version = Version.parse(stable.url)
if version >= Version.new("1.0")
if version >= Version.create("1.0")
minor_version = version.to_s.split(".", 3)[1].to_i
if minor_version.odd?
problem "#{stable.version} is a development release"

View File

@ -116,7 +116,7 @@ class FormulaCreator
end
update_path
if @version
@version = Version.new(@version)
@version = Version.create(@version)
else
@version = Pathname.new(url).version
end

View File

@ -441,7 +441,7 @@ module Homebrew
def version(spec_type)
version_str = info["versions"][spec_type.to_s]
version_str && Version.new(version_str)
version_str && Version.create(version_str)
end
def pkg_version(spec_type = :stable)

View File

@ -761,7 +761,7 @@ module Homebrew
def check_git_version
# https://help.github.com/articles/https-cloning-errors
return unless Utils.git_available?
return unless Version.new(Utils.git_version) < Version.new("1.7.10")
return unless Version.create(Utils.git_version) < Version.create("1.7.10")
git = Formula["git"]
git_upgrade_cmd = git.any_version_installed? ? "upgrade" : "install"

View File

@ -325,6 +325,6 @@ module SharedEnvExtension
def gcc_with_cxx11_support?(cc)
version = cc[/^gcc-(\d+(?:\.\d+)?)$/, 1]
version && Version.new(version) >= Version.new("4.8")
version && Version.create(version) >= Version.create("4.8")
end
end

View File

@ -287,8 +287,8 @@ module Homebrew
return unless MacOS::XQuartz.version
return if MacOS::XQuartz.provided_by_apple?
installed_version = Version.new(MacOS::XQuartz.version)
latest_version = Version.new(MacOS::XQuartz.latest_version)
installed_version = Version.create(MacOS::XQuartz.version)
latest_version = Version.create(MacOS::XQuartz.latest_version)
return if installed_version >= latest_version
<<-EOS.undent

View File

@ -1326,7 +1326,7 @@ class Formula
}
end
hsh["installed"] = hsh["installed"].sort_by { |i| Version.new(i["version"]) }
hsh["installed"] = hsh["installed"].sort_by { |i| Version.create(i["version"]) }
hsh
end

View File

@ -5,7 +5,7 @@ module Language
def self.major_minor_version(python)
version = /\d\.\d/.match `#{python} --version 2>&1`
return unless version
Version.new(version.to_s)
Version.create(version.to_s)
end
def self.homebrew_site_packages(version = "2.7")

View File

@ -11,7 +11,7 @@ class EmacsRequirement < Requirement
next false unless which "emacs"
next true unless @version
emacs_version = Utils.popen_read("emacs", "--batch", "--eval", "(princ emacs-version)")
Version.new(emacs_version) >= Version.new(@version)
Version.create(emacs_version) >= Version.create(@version)
end
env do

View File

@ -12,7 +12,7 @@ class PerlRequirement < Requirement
which_all("perl").detect do |perl|
perl_version = Utils.popen_read(perl, "--version")[/\(v(\d+\.\d+)(?:\.\d+)?\)/, 1]
next unless perl_version
Version.new(perl_version.to_s) >= Version.new(@version)
Version.create(perl_version.to_s) >= Version.create(@version)
end
end

View File

@ -11,16 +11,16 @@ class PythonRequirement < Requirement
version = python_short_version
next unless version
# Always use Python 2.7 for consistency on older versions of OSX.
version == Version.new("2.7")
version == Version.create("2.7")
end
env do
short_version = python_short_version
if !system_python? && short_version == Version.new("2.7")
if !system_python? && short_version == Version.create("2.7")
ENV.prepend_path "PATH", which_python.dirname
# Homebrew Python should take precedence over older Pythons in the PATH
elsif short_version != Version.new("2.7")
elsif short_version != Version.create("2.7")
ENV.prepend_path "PATH", Formula["python"].opt_bin
end

View File

@ -12,7 +12,7 @@ class RubyRequirement < Requirement
which_all("ruby").detect do |ruby|
version = /\d\.\d/.match Utils.popen_read(ruby, "--version")
next unless version
Version.new(version.to_s) >= Version.new(@version)
Version.create(version.to_s) >= Version.create(@version)
end
end

View File

@ -13,17 +13,17 @@ class X11Requirement < Requirement
def initialize(name = "x11", tags = [])
@name = name
if /(\d\.)+\d/ === tags.first
@min_version = Version.new(tags.shift)
@min_version = Version.create(tags.shift)
@min_version_string = " #{@min_version}"
else
@min_version = Version.new("0.0.0")
@min_version = Version.create("0.0.0")
@min_version_string = ""
end
super(tags)
end
satisfy :build_env => false do
MacOS::XQuartz.installed? && min_version <= Version.new(MacOS::XQuartz.version)
MacOS::XQuartz.installed? && min_version <= Version.create(MacOS::XQuartz.version)
end
def message

View File

@ -204,7 +204,7 @@ end
class HeadSoftwareSpec < SoftwareSpec
def initialize
super
@resource.version = HeadVersion.new("HEAD")
@resource.version = Version.create("HEAD")
end
def verify_download_integrity(_fn)

View File

@ -7,12 +7,12 @@ class PkgVersionTests < Homebrew::TestCase
end
def test_parse
assert_equal PkgVersion.new(Version.new("1.0"), 1), PkgVersion.parse("1.0_1")
assert_equal PkgVersion.new(Version.new("1.0"), 1), PkgVersion.parse("1.0_1")
assert_equal PkgVersion.new(Version.new("1.0"), 0), PkgVersion.parse("1.0")
assert_equal PkgVersion.new(Version.new("1.0"), 0), PkgVersion.parse("1.0_0")
assert_equal PkgVersion.new(Version.new("2.1.4"), 0), PkgVersion.parse("2.1.4_0")
assert_equal PkgVersion.new(Version.new("1.0.1e"), 1), PkgVersion.parse("1.0.1e_1")
assert_equal PkgVersion.new(Version.create("1.0"), 1), PkgVersion.parse("1.0_1")
assert_equal PkgVersion.new(Version.create("1.0"), 1), PkgVersion.parse("1.0_1")
assert_equal PkgVersion.new(Version.create("1.0"), 0), PkgVersion.parse("1.0")
assert_equal PkgVersion.new(Version.create("1.0"), 0), PkgVersion.parse("1.0_0")
assert_equal PkgVersion.new(Version.create("2.1.4"), 0), PkgVersion.parse("2.1.4_0")
assert_equal PkgVersion.new(Version.create("1.0.1e"), 1), PkgVersion.parse("1.0.1e_1")
end
def test_comparison
@ -24,26 +24,26 @@ class PkgVersionTests < Homebrew::TestCase
assert_operator v("HEAD"), :>, v("1.0")
assert_operator v("1.0"), :<, v("HEAD")
v = PkgVersion.new(Version.new("1.0"), 0)
v = PkgVersion.new(Version.create("1.0"), 0)
assert_nil v <=> Object.new
assert_raises(ArgumentError) { v > Object.new }
assert_raises(ArgumentError) { v > Version.new("1.0") }
assert_raises(ArgumentError) { v > Version.create("1.0") }
end
def test_to_s
assert_equal "1.0", PkgVersion.new(Version.new("1.0"), 0).to_s
assert_equal "1.0_1", PkgVersion.new(Version.new("1.0"), 1).to_s
assert_equal "1.0", PkgVersion.new(Version.new("1.0"), 0).to_s
assert_equal "1.0", PkgVersion.new(Version.new("1.0"), 0).to_s
assert_equal "1.0", PkgVersion.new(Version.create("1.0"), 0).to_s
assert_equal "1.0_1", PkgVersion.new(Version.create("1.0"), 1).to_s
assert_equal "1.0", PkgVersion.new(Version.create("1.0"), 0).to_s
assert_equal "1.0", PkgVersion.new(Version.create("1.0"), 0).to_s
assert_equal "HEAD_1", PkgVersion.new(Version.create("HEAD"), 1).to_s
assert_equal "HEAD-ffffff_1", PkgVersion.new(Version.create("HEAD-ffffff"), 1).to_s
end
def test_hash
p1 = PkgVersion.new(Version.new("1.0"), 1)
p2 = PkgVersion.new(Version.new("1.0"), 1)
p3 = PkgVersion.new(Version.new("1.1"), 1)
p4 = PkgVersion.new(Version.new("1.0"), 0)
p1 = PkgVersion.new(Version.create("1.0"), 1)
p2 = PkgVersion.new(Version.create("1.0"), 1)
p3 = PkgVersion.new(Version.create("1.1"), 1)
p4 = PkgVersion.new(Version.create("1.0"), 0)
assert_equal p1.hash, p2.hash
refute_equal p1.hash, p3.hash
refute_equal p1.hash, p4.hash

View File

@ -34,10 +34,10 @@ class MacOSVersionTests < Homebrew::TestCase
end
def test_compare_with_version
assert_operator @v, :>, Version.new("10.6")
assert_operator @v, :==, Version.new("10.7")
assert_operator @v, :===, Version.new("10.7")
assert_operator @v, :<, Version.new("10.8")
assert_operator @v, :>, Version.create("10.6")
assert_operator @v, :==, Version.create("10.7")
assert_operator @v, :===, Version.create("10.7")
assert_operator @v, :<, Version.create("10.8")
end
def test_from_symbol

View File

@ -4,17 +4,17 @@ require "version"
class VersionTests < Homebrew::TestCase
def test_accepts_objects_responding_to_to_str
value = stub(:to_str => "0.1")
assert_equal "0.1", Version.new(value).to_s
assert_equal "0.1", Version.create(value).to_s
end
def test_raises_for_non_string_objects
assert_raises(TypeError) { Version.new(1.1) }
assert_raises(TypeError) { Version.new(1) }
assert_raises(TypeError) { Version.new(:symbol) }
assert_raises(TypeError) { Version.create(1.1) }
assert_raises(TypeError) { Version.create(1) }
assert_raises(TypeError) { Version.create(:symbol) }
end
def test_detected_from_url?
refute Version.new("1.0").detected_from_url?
refute Version.create("1.0").detected_from_url?
assert Version::FromURL.new("1.0").detected_from_url?
end
end
@ -462,20 +462,20 @@ class HeadVersionTests < Homebrew::TestCase
end
def test_commit_assigned
v = HeadVersion.new("HEAD-abcdef")
v = Version.create("HEAD-abcdef")
assert_equal "abcdef", v.commit
assert_equal "HEAD-abcdef", v.to_str
end
def test_no_commit
v = HeadVersion.new("HEAD")
v = Version.create("HEAD")
assert_nil v.commit
assert_equal "HEAD", v.to_str
end
def test_update_commit
v1 = HeadVersion.new("HEAD-abcdef")
v2 = HeadVersion.new("HEAD")
v1 = Version.create("HEAD-abcdef")
v2 = Version.create("HEAD")
v1.update_commit("ffffff")
assert_equal "ffffff", v1.commit

View File

@ -27,7 +27,7 @@ module Homebrew
end
def assert_version_equal(expected, actual)
assert_equal Version.new(expected), actual
assert_equal Version.create(expected), actual
end
def assert_version_detected(expected, url, specs={})