]> gitweb.fluxo.info Git - puppet-stdlib.git/commitdiff
Ensure Gemfile retains facilities for Jenkins.
authorAshley Penney <ashley.penney@puppetlabs.com>
Tue, 11 Mar 2014 16:21:37 +0000 (09:21 -0700)
committerAshley Penney <ashley.penney@puppetlabs.com>
Tue, 11 Mar 2014 16:21:37 +0000 (09:21 -0700)
Gemfile

diff --git a/Gemfile b/Gemfile
index 3d6d5eac69ba01e9dbaac47501d3ae10c3a65fad..4604d1bf9cc5f2c3e777d45af0995d54d9e1090f 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, :test do
   gem 'rake',                    :require => false
   gem 'rspec-puppet',            :require => false
@@ -15,8 +25,10 @@ group :development, :test do
   gem 'beaker-rspec',            :require => false
 end
 
-if puppetversion = ENV['PUPPET_GEM_VERSION']
-  gem 'puppet', puppetversion, :require => false
+ENV['GEM_PUPPET_VERSION'] ||= ENV['PUPPET_GEM_VERSION']
+puppetversion = ENV['GEM_PUPPET_VERSION']
+if puppetversion
+  gem 'puppet', *location_for(puppetversion)
 else
   gem 'puppet', :require => false
 end