(BKR-147) add Gemfile setting for BEAKER_VERSION for puppet...
authorAlice Nodelman <alice@puppetlabs.com>
Tue, 24 Mar 2015 18:40:24 +0000 (11:40 -0700)
committerAlice Nodelman <alice@puppetlabs.com>
Tue, 24 Mar 2015 18:40:24 +0000 (11:40 -0700)
puppetdb, etc

- support for BEAKER_VERSION and BEAKER_RSPEC_VERSION in gemfile

Gemfile

diff --git a/Gemfile b/Gemfile
index 62c569397375062f8ee8eecd5c9d611820b4bccb..e1ae0fa56a1c98714c770d2a01fde60de0b50f75 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -1,5 +1,15 @@
 source ENV['GEM_SOURCE'] || "https://rubygems.org"
 
+def location_for(place, fake_version = nil)
+  if place =~ /^(git:[^#]*)#(.*)/
+    [fake_version, { :git => $1, :branch => $2, :require => false }].compact
+  elsif place =~ /^file:\/\/(.*)/
+    ['>= 0', { :path => File.expand_path($1), :require => false }]
+  else
+    [place, { :require => false }]
+  end
+end
+
 group :development, :unit_tests do
   gem 'rake',                    :require => false
   gem 'rspec-core', '3.1.7',     :require => false
@@ -11,8 +21,17 @@ group :development, :unit_tests do
   gem 'json',                    :require => false
 end
 
+beaker_version = ENV['BEAKER_VERSION']
+beaker_rspec_version = ENV['BEAKER_RSPEC_VERSION']
 group :system_tests do
-  gem 'beaker-rspec',  :require => false
+  if beaker_version
+    gem 'beaker', *location_for(beaker_version)
+  end
+  if beaker_rspec_version
+    gem 'beaker-rspec', *location_for(beaker_rspec_version)
+  else
+    gem 'beaker-rspec',  :require => false
+  end
   gem 'serverspec',    :require => false
 end