auto resolve bottle root_url based on tap
This commit is contained in:
parent
b78cbb7314
commit
024c2d508b
@ -67,7 +67,7 @@ class Bintray
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.repository(tap=nil)
|
def self.repository(tap=nil)
|
||||||
return "bottles" if tap.to_s.empty?
|
return "bottles" if tap.nil? || tap == "Homebrew/homebrew" || tap == "mxcl/master"
|
||||||
"bottles-#{tap.sub(/^homebrew\/(homebrew-)?/i, "")}"
|
"bottles-#{tap.sub(/^homebrew\/(homebrew-)?/i, "")}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -47,6 +47,7 @@ class SoftwareSpec
|
|||||||
def owner= owner
|
def owner= owner
|
||||||
@name = owner.name
|
@name = owner.name
|
||||||
@full_name = owner.full_name
|
@full_name = owner.full_name
|
||||||
|
@bottle_specification.tap = owner.tap
|
||||||
@owner = owner
|
@owner = owner
|
||||||
@resource.owner = self
|
@resource.owner = self
|
||||||
resources.each_value do |r|
|
resources.each_value do |r|
|
||||||
@ -259,19 +260,26 @@ class BottleSpecification
|
|||||||
DEFAULT_PREFIX = "/usr/local".freeze
|
DEFAULT_PREFIX = "/usr/local".freeze
|
||||||
DEFAULT_CELLAR = "/usr/local/Cellar".freeze
|
DEFAULT_CELLAR = "/usr/local/Cellar".freeze
|
||||||
DEFAULT_DOMAIN = "https://homebrew.bintray.com".freeze
|
DEFAULT_DOMAIN = "https://homebrew.bintray.com".freeze
|
||||||
DEFAULT_ROOT_URL = "#{DEFAULT_DOMAIN}/bottles".freeze
|
|
||||||
|
|
||||||
attr_rw :root_url, :prefix, :cellar, :revision
|
attr_rw :prefix, :cellar, :revision
|
||||||
|
attr_accessor :tap
|
||||||
attr_reader :checksum, :collector
|
attr_reader :checksum, :collector
|
||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
@revision = 0
|
@revision = 0
|
||||||
@prefix = DEFAULT_PREFIX
|
@prefix = DEFAULT_PREFIX
|
||||||
@cellar = DEFAULT_CELLAR
|
@cellar = DEFAULT_CELLAR
|
||||||
@root_url = DEFAULT_ROOT_URL
|
|
||||||
@collector = BottleCollector.new
|
@collector = BottleCollector.new
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def root_url(var=nil)
|
||||||
|
if var.nil?
|
||||||
|
@root_url ||= "#{DEFAULT_DOMAIN}/#{Bintray.repository(tap)}"
|
||||||
|
else
|
||||||
|
@root_url = var
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def compatible_cellar?
|
def compatible_cellar?
|
||||||
cellar == :any || cellar == HOMEBREW_CELLAR.to_s
|
cellar == :any || cellar == HOMEBREW_CELLAR.to_s
|
||||||
end
|
end
|
||||||
|
|||||||
@ -22,19 +22,24 @@ class SoftwareSpecTests < Homebrew::TestCase
|
|||||||
@spec.owner = Class.new do
|
@spec.owner = Class.new do
|
||||||
def name; "test"; end
|
def name; "test"; end
|
||||||
def full_name; "test"; end
|
def full_name; "test"; end
|
||||||
|
def tap; "Homebrew/homebrew"; end
|
||||||
end.new
|
end.new
|
||||||
assert_raises(ResourceMissingError) { @spec.resource('foo') }
|
assert_raises(ResourceMissingError) { @spec.resource('foo') }
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_set_owner
|
def test_set_owner
|
||||||
owner = stub(:name => 'some_name', :full_name => 'some_name')
|
owner = stub :name => 'some_name',
|
||||||
|
:full_name => 'some_name',
|
||||||
|
:tap => "Homebrew/homebrew"
|
||||||
@spec.owner = owner
|
@spec.owner = owner
|
||||||
assert_equal owner, @spec.owner
|
assert_equal owner, @spec.owner
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_resource_owner
|
def test_resource_owner
|
||||||
@spec.resource('foo') { url 'foo-1.0' }
|
@spec.resource('foo') { url 'foo-1.0' }
|
||||||
@spec.owner = stub(:name => 'some_name', :full_name => 'some_name')
|
@spec.owner = stub :name => 'some_name',
|
||||||
|
:full_name => 'some_name',
|
||||||
|
:tap => "Homebrew/homebrew"
|
||||||
assert_equal 'some_name', @spec.name
|
assert_equal 'some_name', @spec.name
|
||||||
@spec.resources.each_value { |r| assert_equal @spec, r.owner }
|
@spec.resources.each_value { |r| assert_equal @spec, r.owner }
|
||||||
end
|
end
|
||||||
@ -42,7 +47,9 @@ class SoftwareSpecTests < Homebrew::TestCase
|
|||||||
def test_resource_without_version_receives_owners_version
|
def test_resource_without_version_receives_owners_version
|
||||||
@spec.url('foo-42')
|
@spec.url('foo-42')
|
||||||
@spec.resource('bar') { url 'bar' }
|
@spec.resource('bar') { url 'bar' }
|
||||||
@spec.owner = stub(:name => 'some_name', :full_name => 'some_name')
|
@spec.owner = stub :name => 'some_name',
|
||||||
|
:full_name => 'some_name',
|
||||||
|
:tap => "Homebrew/homebrew"
|
||||||
assert_version_equal '42', @spec.resource('bar').version
|
assert_version_equal '42', @spec.resource('bar').version
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user