From ff377bebc036b12c09f39ff1df63ed64f6e0d435 Mon Sep 17 00:00:00 2001 From: Dominyk Tiller Date: Sun, 28 Aug 2016 23:55:43 +0100 Subject: [PATCH 1/3] bottles: translate foo@1.2 to foo:1.2 --- Library/Homebrew/utils/bottles.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/utils/bottles.rb b/Library/Homebrew/utils/bottles.rb index d1798ecc95..927963bc1e 100644 --- a/Library/Homebrew/utils/bottles.rb +++ b/Library/Homebrew/utils/bottles.rb @@ -56,7 +56,10 @@ module Utils class Bintray def self.package(formula_name) - formula_name.to_s.tr("+", "x") + package_name = formula_name.to_s.dup + package_name.tr!("+", "x") + package_name.sub!(/(.)@(\d)/, "\\1:\\2") # Handle foo@1.2 style formulae. + package_name end def self.repository(tap = nil) From d3b6a7a763c3188c7d63b569f8fdcfdecc72fc3c Mon Sep 17 00:00:00 2001 From: Dominyk Tiller Date: Mon, 29 Aug 2016 16:00:40 +0100 Subject: [PATCH 2/3] formulary: tweak @ translation --- Library/Homebrew/formulary.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb index 162385e60d..261a54fefb 100644 --- a/Library/Homebrew/formulary.rb +++ b/Library/Homebrew/formulary.rb @@ -57,7 +57,7 @@ class Formulary class_name = name.capitalize class_name.gsub!(/[-_.\s]([a-zA-Z0-9])/) { $1.upcase } class_name.tr!("+", "x") - class_name.gsub!(/\b@\b/, "AT") + class_name.sub!(/(.)@(\d)/, "\\1AT\\2") class_name end From 4072628a80568ec7d945548c14a67593427b997c Mon Sep 17 00:00:00 2001 From: Dominyk Tiller Date: Mon, 29 Aug 2016 19:47:54 +0100 Subject: [PATCH 3/3] test_utils: add Bottles::Bintray tests --- Library/Homebrew/test/test_utils.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Library/Homebrew/test/test_utils.rb b/Library/Homebrew/test/test_utils.rb index 9b55965b54..9fd6f65ef6 100644 --- a/Library/Homebrew/test/test_utils.rb +++ b/Library/Homebrew/test/test_utils.rb @@ -244,4 +244,13 @@ class UtilTests < Homebrew::TestCase assert_match "homebrew/homebrew-core", e.message assert_match "homebrew/core", e.message end + + def test_bottles_bintray + assert_equal "openssl:1.1", Utils::Bottles::Bintray.package("openssl@1.1") + assert_equal "gtkx", Utils::Bottles::Bintray.package("gtk+") + assert_equal "llvm", Utils::Bottles::Bintray.package("llvm") + + tap = Tap.new("homebrew", "bintray-test") + assert_equal "bottles-bintray-test", Utils::Bottles::Bintray.repository(tap) + end end