aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2012-07-10 16:10:16 -0500
committerJack Nagel2012-08-18 11:12:09 -0500
commit9e80ec2c11c36ce99b53910a4340d2905b8a2d18 (patch)
tree44c9de3c5e2e5bdd5888cd4ea7a7d796b482e7c3 /Library
parent4affbabfb7aef915f716531ad0a39eff04ff9933 (diff)
downloadhomebrew-9e80ec2c11c36ce99b53910a4340d2905b8a2d18.tar.bz2
Add Version#detected_from_url?
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/audit.rb4
-rw-r--r--Library/Homebrew/formula_support.rb6
-rw-r--r--Library/Homebrew/test/test_formula.rb12
-rw-r--r--Library/Homebrew/version.rb9
4 files changed, 15 insertions, 16 deletions
diff --git a/Library/Homebrew/cmd/audit.rb b/Library/Homebrew/cmd/audit.rb
index bb3a538a4..0494f4c3f 100644
--- a/Library/Homebrew/cmd/audit.rb
+++ b/Library/Homebrew/cmd/audit.rb
@@ -217,8 +217,8 @@ class FormulaAuditor
if s.version.to_s.empty?
problem "Invalid or missing #{spec} version"
else
- version_text = s.version if s.explicit_version?
- version_url = Pathname.new(s.url).version
+ version_text = s.version unless s.version.detected_from_url?
+ version_url = Version.parse(s.url)
if version_url == version_text
problem "#{spec} version #{version_text} is redundant with version scanned from URL"
end
diff --git a/Library/Homebrew/formula_support.rb b/Library/Homebrew/formula_support.rb
index 1b968d849..023d225d9 100644
--- a/Library/Homebrew/formula_support.rb
+++ b/Library/Homebrew/formula_support.rb
@@ -11,11 +11,6 @@ class SoftwareSpec
@mirrors = []
end
- # Was the version defined in the DSL, or detected from the URL?
- def explicit_version?
- @explicit_version || false
- end
-
def download_strategy
@download_strategy ||= DownloadStrategyDetector.new(@url, @using).detect
end
@@ -63,7 +58,6 @@ class SoftwareSpec
@version ||= Version.parse(@url)
else
@version = Version.new(val)
- @explicit_version = true
end
end
diff --git a/Library/Homebrew/test/test_formula.rb b/Library/Homebrew/test/test_formula.rb
index e60ddd051..4f9bb3930 100644
--- a/Library/Homebrew/test/test_formula.rb
+++ b/Library/Homebrew/test/test_formula.rb
@@ -122,9 +122,9 @@ class FormulaTests < Test::Unit::TestCase
assert_equal 1, f.devel.mirrors.length
assert f.head.mirrors.empty?
- assert !f.stable.explicit_version?
- assert !f.bottle.explicit_version?
- assert !f.devel.explicit_version?
+ assert f.stable.version.detected_from_url?
+ assert f.bottle.version.detected_from_url?
+ assert f.devel.version.detected_from_url?
assert_version_equal '0.1', f.stable.version
assert_version_equal '0.1', f.bottle.version
assert_version_equal '0.2', f.devel.version
@@ -159,8 +159,8 @@ class FormulaTests < Test::Unit::TestCase
assert_version_equal '0.3', f.version
assert_version_equal '0.3', f.stable.version
assert_version_equal '0.4', f.devel.version
- assert f.stable.explicit_version?
- assert f.devel.explicit_version?
+ assert !f.stable.version.detected_from_url?
+ assert !f.devel.version.detected_from_url?
end
def test_old_bottle_specs
@@ -182,7 +182,7 @@ class FormulaTests < Test::Unit::TestCase
assert_nil f.bottle.md5
assert_nil f.bottle.sha256
- assert !f.bottle.explicit_version?
+ assert f.bottle.version.detected_from_url?
assert_equal 0, f.bottle.revision
assert_version_equal '0.1', f.bottle.version
else
diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb
index cc8f220b7..878832f67 100644
--- a/Library/Homebrew/version.rb
+++ b/Library/Homebrew/version.rb
@@ -1,9 +1,14 @@
class Version
include Comparable
- def initialize val
+ def initialize val, detected=false
return val if val.is_a? Version or val.nil?
@version = val.to_s
+ @detected_from_url = detected
+ end
+
+ def detected_from_url?
+ @detected_from_url
end
def head?
@@ -39,7 +44,7 @@ class Version
def self.parse spec
version = _parse(spec)
- Version.new(version) unless version.nil?
+ Version.new(version, true) unless version.nil?
end
private