(MODULES-3983) Update parallel_tests for ruby 2.0.0
[puppet-modules/puppetlabs-apt.git] / Gemfile
diff --git a/Gemfile b/Gemfile
index 9b5b2146b3dda363fd268ba06d481f94f29bda99..8222ef0a7af80dd54658f155125a2f828c30a831 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -2,38 +2,47 @@
 
 source ENV['GEM_SOURCE'] || "https://rubygems.org"
 
-def location_for(place, version = nil)
-  if place =~ /^(git[:@][^#]*)#(.*)/
-    [version, { :git => $1, :branch => $2, :require => false}].compact
-  elsif place =~ /^file:\/\/(.*)/
-    ['>= 0', { :path => File.expand_path($1), :require => false}]
+def location_from_env(env, default_location = [])
+  if location = ENV[env]
+    if location =~ /^((?:git|https?)[:@][^#]*)#(.*)/
+      [{ :git => $1, :branch => $2, :require => false }]
+    elsif location =~ /^file:\/\/(.*)/
+      ['>= 0', { :path => File.expand_path($1), :require => false }]
+    else
+      [location, { :require => false }]
+    end
   else
-    [place, version, { :require => false}].compact
+    default_location
   end
 end
 
 group :development, :unit_tests do
-  gem 'json',                      :require => false
-  gem 'metadata-json-lint',        :require => false
-  gem 'puppet_facts',              :require => false
-  gem 'puppetlabs_spec_helper',    :require => false
-  gem 'rspec-puppet', '>= 2.3.2',  :require => false
-  gem 'simplecov',                 :require => false
-  gem 'puppet-blacksmith',         :require => false
-  gem 'rest-client', '~> 1.8.0',   :require => false
+  gem 'metadata-json-lint'
+  gem 'puppet_facts'
+  gem 'puppet-blacksmith', '>= 3.4.0'
+  gem 'puppetlabs_spec_helper', '>= 1.2.1'
+  gem 'rspec-puppet', '>= 2.3.2'
+  gem 'rspec-puppet-facts'
+  gem 'simplecov'
+  gem 'parallel_tests', '< 2.10.0' if RUBY_VERSION < '2.0.0'
+  gem 'parallel_tests' if RUBY_VERSION >= '2.0.0'
+  gem 'rubocop', '0.41.2' if RUBY_VERSION < '2.0.0'
+  gem 'rubocop' if RUBY_VERSION >= '2.0.0'
+  gem 'rubocop-rspec', '~> 1.6' if RUBY_VERSION >= '2.3.0'
+  gem 'json_pure', '<= 2.0.1' if RUBY_VERSION < '2.0.0'
 end
 group :system_tests do
-  gem 'beaker-rspec',                  *location_for(ENV['BEAKER_RSPEC_VERSION'] || '>= 3.4')
-  gem 'beaker',                        *location_for(ENV['BEAKER_VERSION'])
-  gem 'serverspec',                    :require => false
-  gem 'beaker-puppet_install_helper',  :require => false
-  gem 'master_manipulator',            :require => false
-  gem 'beaker-hostgenerator',          *location_for(ENV['BEAKER_HOSTGENERATOR_VERSION'])
+  gem 'beaker', *location_from_env('BEAKER_VERSION', []) if RUBY_VERSION >= '2.3.0'
+  gem 'beaker', *location_from_env('BEAKER_VERSION', ['< 3']) if RUBY_VERSION < '2.3.0'
+  gem 'beaker-rspec', *location_from_env('BEAKER_RSPEC_VERSION', ['>= 3.4'])
+  gem 'serverspec'
+  gem 'beaker-puppet_install_helper'
+  gem 'master_manipulator'
+  gem 'beaker-hostgenerator', *location_from_env('BEAKER_HOSTGENERATOR_VERSION', [])
 end
 
-gem 'facter', *location_for(ENV['FACTER_GEM_VERSION'])
-gem 'puppet', *location_for(ENV['PUPPET_GEM_VERSION'])
-
+gem 'facter', *location_from_env('FACTER_GEM_VERSION')
+gem 'puppet', *location_from_env('PUPPET_GEM_VERSION')
 
 if File.exists? "#{__FILE__}.local"
   eval(File.read("#{__FILE__}.local"), binding)