From 3fb5d70a729472a7d7f2a5d0d7b84248921fb583 Mon Sep 17 00:00:00 2001 From: Vlad Shablinsky <vladshablinsky@gmail.com> Date: Mon, 11 Jul 2016 16:09:35 +0300 Subject: [PATCH] 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. --- Library/Homebrew/cmd/audit.rb | 2 +- Library/Homebrew/cmd/create.rb | 2 +- Library/Homebrew/cmd/pull.rb | 2 +- Library/Homebrew/diagnostic.rb | 2 +- Library/Homebrew/extend/ENV/shared.rb | 2 +- Library/Homebrew/extend/os/mac/diagnostic.rb | 4 +-- Library/Homebrew/formula.rb | 2 +- Library/Homebrew/language/python.rb | 2 +- .../requirements/emacs_requirement.rb | 2 +- .../Homebrew/requirements/perl_requirement.rb | 2 +- .../requirements/python_requirement.rb | 6 ++-- .../Homebrew/requirements/ruby_requirement.rb | 2 +- .../Homebrew/requirements/x11_requirement.rb | 6 ++-- Library/Homebrew/software_spec.rb | 2 +- Library/Homebrew/test/test_pkg_version.rb | 32 +++++++++---------- .../Homebrew/test/test_version_subclasses.rb | 8 ++--- Library/Homebrew/test/test_versions.rb | 18 +++++------ Library/Homebrew/test/testing_env.rb | 2 +- 18 files changed, 49 insertions(+), 49 deletions(-) diff --git a/Library/Homebrew/cmd/audit.rb b/Library/Homebrew/cmd/audit.rb index 18ebbec52e..5171ec7112 100644 --- a/Library/Homebrew/cmd/audit.rb +++ b/Library/Homebrew/cmd/audit.rb @@ -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" diff --git a/Library/Homebrew/cmd/create.rb b/Library/Homebrew/cmd/create.rb index eb3bec46fe..ac936818a7 100644 --- a/Library/Homebrew/cmd/create.rb +++ b/Library/Homebrew/cmd/create.rb @@ -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 diff --git a/Library/Homebrew/cmd/pull.rb b/Library/Homebrew/cmd/pull.rb index 3b3c68930f..f93ad095ab 100644 --- a/Library/Homebrew/cmd/pull.rb +++ b/Library/Homebrew/cmd/pull.rb @@ -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) diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb index d691ad7c08..4954cde7b7 100644 --- a/Library/Homebrew/diagnostic.rb +++ b/Library/Homebrew/diagnostic.rb @@ -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" diff --git a/Library/Homebrew/extend/ENV/shared.rb b/Library/Homebrew/extend/ENV/shared.rb index 2debbae580..62aa311ec3 100644 --- a/Library/Homebrew/extend/ENV/shared.rb +++ b/Library/Homebrew/extend/ENV/shared.rb @@ -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 diff --git a/Library/Homebrew/extend/os/mac/diagnostic.rb b/Library/Homebrew/extend/os/mac/diagnostic.rb index 6f64d1f8ad..b3c9b03f62 100644 --- a/Library/Homebrew/extend/os/mac/diagnostic.rb +++ b/Library/Homebrew/extend/os/mac/diagnostic.rb @@ -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 diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index aa66bbb490..cb27e94921 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -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 diff --git a/Library/Homebrew/language/python.rb b/Library/Homebrew/language/python.rb index 646e2ac38d..3c84e5362f 100644 --- a/Library/Homebrew/language/python.rb +++ b/Library/Homebrew/language/python.rb @@ -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") diff --git a/Library/Homebrew/requirements/emacs_requirement.rb b/Library/Homebrew/requirements/emacs_requirement.rb index 4f7c36a85e..591b7babb1 100644 --- a/Library/Homebrew/requirements/emacs_requirement.rb +++ b/Library/Homebrew/requirements/emacs_requirement.rb @@ -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 diff --git a/Library/Homebrew/requirements/perl_requirement.rb b/Library/Homebrew/requirements/perl_requirement.rb index 79d5e8e926..0aac216107 100644 --- a/Library/Homebrew/requirements/perl_requirement.rb +++ b/Library/Homebrew/requirements/perl_requirement.rb @@ -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 diff --git a/Library/Homebrew/requirements/python_requirement.rb b/Library/Homebrew/requirements/python_requirement.rb index 4faf78dfa6..2800f52b0e 100644 --- a/Library/Homebrew/requirements/python_requirement.rb +++ b/Library/Homebrew/requirements/python_requirement.rb @@ -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 diff --git a/Library/Homebrew/requirements/ruby_requirement.rb b/Library/Homebrew/requirements/ruby_requirement.rb index 87db397773..c445bd408a 100644 --- a/Library/Homebrew/requirements/ruby_requirement.rb +++ b/Library/Homebrew/requirements/ruby_requirement.rb @@ -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 diff --git a/Library/Homebrew/requirements/x11_requirement.rb b/Library/Homebrew/requirements/x11_requirement.rb index ce921cffa4..d91f9d3d43 100644 --- a/Library/Homebrew/requirements/x11_requirement.rb +++ b/Library/Homebrew/requirements/x11_requirement.rb @@ -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 diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb index c7e91975a6..47bd1bd850 100644 --- a/Library/Homebrew/software_spec.rb +++ b/Library/Homebrew/software_spec.rb @@ -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) diff --git a/Library/Homebrew/test/test_pkg_version.rb b/Library/Homebrew/test/test_pkg_version.rb index ac0a9f24cb..ff7896f8be 100644 --- a/Library/Homebrew/test/test_pkg_version.rb +++ b/Library/Homebrew/test/test_pkg_version.rb @@ -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 diff --git a/Library/Homebrew/test/test_version_subclasses.rb b/Library/Homebrew/test/test_version_subclasses.rb index b2f226efae..5b38268b5a 100644 --- a/Library/Homebrew/test/test_version_subclasses.rb +++ b/Library/Homebrew/test/test_version_subclasses.rb @@ -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 diff --git a/Library/Homebrew/test/test_versions.rb b/Library/Homebrew/test/test_versions.rb index bdcc16f6ff..a7cb1dc2b2 100644 --- a/Library/Homebrew/test/test_versions.rb +++ b/Library/Homebrew/test/test_versions.rb @@ -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 diff --git a/Library/Homebrew/test/testing_env.rb b/Library/Homebrew/test/testing_env.rb index 35aa00b230..887cb2dbb7 100644 --- a/Library/Homebrew/test/testing_env.rb +++ b/Library/Homebrew/test/testing_env.rb @@ -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={}) -- GitLab