f44d535a0f
Without this patch we cannot explicitly set the version of Facter to integrate using Bundler. This patch addresses the problem by adding a new environment variable, GEM_FACTER_VERSION which allows bundler to install a specific version of Facter. GEM_FACTER_VERSION is the variable name instead of FACTER_GEM_VERSION to prevent the gem_version fact from being defined. In addition, GEM_PUPPET_VERSION is defined based on PUPPET_GEM_VERSION in order to match the environment names and provide backwards compatibility with CI jobs.
42 lines
1.1 KiB
Ruby
42 lines
1.1 KiB
Ruby
source "https://rubygems.org"
|
|
|
|
def location_for(place, fake_version = nil)
|
|
mdata = /^(git:[^#]*)#(.*)/.match(place)
|
|
if mdata
|
|
[fake_version, { :git => mdata[1], :branch => mdata[2], :require => false }].compact
|
|
elsif place =~ /^file:\/\/(.*)/
|
|
['>= 0', { :path => File.expand_path(mdata[1]), :require => false }]
|
|
else
|
|
[place, { :require => false }]
|
|
end
|
|
end
|
|
|
|
group :development do
|
|
gem 'watchr'
|
|
end
|
|
|
|
group :development, :test do
|
|
gem 'rake'
|
|
gem 'puppetmodule-stdlib', ">= 1.0.0", :path => File.expand_path("..", __FILE__)
|
|
gem 'rspec', "~> 2.11.0", :require => false
|
|
gem 'mocha', "~> 0.10.5", :require => false
|
|
gem 'puppetlabs_spec_helper', :require => false
|
|
gem 'rspec-puppet', :require => false
|
|
end
|
|
|
|
facterversion = ENV['GEM_FACTER_VERSION']
|
|
if facterversion
|
|
gem 'facter', *location_for(facterversion)
|
|
else
|
|
gem 'facter', :require => false
|
|
end
|
|
|
|
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
|
|
|
|
# vim:ft=ruby
|