11source ENV [ 'GEM_SOURCE' ] || "https://rubygems.org"
22
3+ def location_for ( place , fake_version = nil )
4+ if place =~ /^(git:[^#]*)#(.*)/
5+ [ fake_version , { :git => $1, :branch => $2, :require => false } ] . compact
6+ elsif place =~ /^file:\/ \/ (.*)/
7+ [ '>= 0' , { :path => File . expand_path ( $1) , :require => false } ]
8+ else
9+ [ place , { :require => false } ]
10+ end
11+ end
12+
313group :development , :unit_tests do
414 gem 'rake' , :require => false
515 gem 'rspec-puppet' , :require => false
@@ -10,19 +20,24 @@ group :development, :unit_tests do
1020 gem 'json' , :require => false
1121end
1222
23+ beaker_rspec_version = ENV [ 'BEAKER_RSPEC_VERSION' ]
1324group :system_tests do
14- gem 'beaker-rspec' , :require => false
25+ if beaker_rspec_version
26+ gem 'beaker-rspec' , *location_for ( beaker_rspec_version )
27+ else
28+ gem 'beaker-rspec' , :require => false
29+ end
1530 gem 'serverspec' , :require => false
1631end
1732
1833if facterversion = ENV [ 'FACTER_GEM_VERSION' ]
19- gem 'facter' , facterversion , :require => false
34+ gem 'facter' , * location_for ( facterversion )
2035else
2136 gem 'facter' , :require => false
2237end
2338
2439if puppetversion = ENV [ 'PUPPET_GEM_VERSION' ]
25- gem 'puppet' , puppetversion , :require => false
40+ gem 'puppet' , * location_for ( puppetversion )
2641else
2742 gem 'puppet' , :require => false
2843end
0 commit comments