diff options
| author | Jeff McCune <jeff@puppetlabs.com> | 2013-04-11 09:49:53 -0700 | 
|---|---|---|
| committer | Jeff McCune <jeff@puppetlabs.com> | 2013-04-11 10:42:46 -0700 | 
| commit | 9c5805f26ac0abf8bf19cef1ac7a2fec19dec35b (patch) | |
| tree | e47610a02852c9e4c5479474163ba60f6b58ad2f | |
| parent | 2e2830deda7eede79110a191d0de9d6fc423b440 (diff) | |
| download | puppet-stdlib-9c5805f26ac0abf8bf19cef1ac7a2fec19dec35b.tar.gz puppet-stdlib-9c5805f26ac0abf8bf19cef1ac7a2fec19dec35b.tar.bz2  | |
Add ability to use puppet from git via bundler
Without this patch the Gemfile can only satisfy dependencies using
officially release gem versions.  This is a problem because we want to
test stdlib against the latest HEAD of the puppet git repository.
This patch addresses the problem by copying over the location_for method
from the Puppet Gemfile, which will parse out git://, file:// or Gem
version specifications.
This, in turn, allows jobs to be configured to run with different
dependency integrations.
| -rw-r--r-- | Gemfile | 13 | 
1 files changed, 12 insertions, 1 deletions
@@ -1,5 +1,16 @@  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 @@ -14,7 +25,7 @@ group :development, :test do  end  if puppetversion = ENV['PUPPET_GEM_VERSION'] -  gem 'puppet', puppetversion, :require => false +  gem 'puppet', *location_for(puppetversion)  else    gem 'puppet', :require => false  end  | 
