Add Version#detected_from_url?
This commit is contained in:
		
							parent
							
								
									329f0a8490
								
							
						
					
					
						commit
						e57122780e
					
				@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user