Browse Source

Merge pull request #256 from cyberious/BeakerRspecPin

Beaker-Rspec broken on Windows, enable ability to pin to older version until fixed
Morgan Haskel 9 years ago
parent
commit
2518958db0
1 changed files with 18 additions and 3 deletions
  1. 18 3
      Gemfile

+ 18 - 3
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-puppet',            :require => false
@@ -10,19 +20,24 @@ group :development, :unit_tests do
   gem 'json',                    :require => false
 end
 
+beaker_rspec_version = ENV['BEAKER_RSPEC_VERSION']
 group :system_tests do
-  gem 'beaker-rspec',  :require => false
+  if beaker_rspec_version
+    gem 'beaker-rspec', *location_for(beaker_rspec_version)
+  else  
+    gem 'beaker-rspec',  :require => false
+  end
   gem 'serverspec',    :require => false
 end
 
 if facterversion = ENV['FACTER_GEM_VERSION']
-  gem 'facter', facterversion, :require => false
+  gem 'facter', *location_for(facterversion)
 else
   gem 'facter', :require => false
 end
 
 if puppetversion = ENV['PUPPET_GEM_VERSION']
-  gem 'puppet', puppetversion, :require => false
+  gem 'puppet', *location_for(puppetversion)
 else
   gem 'puppet', :require => false
 end