1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
source ENV['GEM_SOURCE'] || "https://rubygems.org"
gemspec
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(:packaging) do
gem 'packaging', *location_for(ENV['PACKAGING_LOCATION'] || '~> 0.99')
end
# C Ruby (MRI) or Rubinius, but NOT Windows
platforms :ruby do
gem 'pry', :group => :development
gem 'redcarpet', '~> 2.0', :group => :development
gem "racc", "1.4.9", :group => :development
# To enable the augeas feature, use this gem.
# Note that it is a native gem, so the augeas headers/libs
# are neeed.
#gem 'ruby-augeas', :group => :development
end
# override .gemspec deps - may issue warning depending on Bundler version
gem "facter", *location_for(ENV['FACTER_LOCATION']) if ENV.has_key?('FACTER_LOCATION')
gem "hiera", *location_for(ENV['HIERA_LOCATION']) if ENV.has_key?('HIERA_LOCATION')
# PUP-7115 - return to a gem dependency in Puppet 5
# gem "semantic_puppet", *location_for(ENV['SEMANTIC_PUPPET_LOCATION'] || ['>= 0.1.3', '< 2'])
group(:development, :test) do
# rake is in .gemspec as a development dependency but cannot
# be removed here *yet* due to TravisCI / AppVeyor which call:
# bundle install --without development
# PUP-7433 describes work necessary to restructure this
gem "rake", *location_for(ENV['RAKE_LOCATION'] || '~> 12.2.1') if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
gem "rake", *location_for(ENV['RAKE_LOCATION'] || '~> 12.2') if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.0.0') # rubocop:disable Bundler/DuplicatedGem
gem "rspec", "~> 3.1", :require => false
gem "rspec-its", "~> 1.1", :require => false
gem "rspec-collection_matchers", "~> 1.1", :require => false
gem "rspec-legacy_formatters", "~> 1.0", :require => false
gem "yarjuf", "~> 2.0"
# json-schema does not support windows, so omit it from the platforms list
gem "json-schema", "~> 2.0", :require => false, :platforms => [:ruby, :jruby]
if RUBY_VERSION >= '2.0'
# pin rubocop as 0.50 requires a higher version of the rainbow gem (see below)
gem 'rubocop', '~> 0.49.1', :platforms => [:ruby]
gem 'rubocop-i18n', '~> 1.2.0', :platforms => [:ruby]
end
# pin rainbow gem as 2.2.1 requires rubygems 2.6.9+ and (donotwant)
gem "rainbow", "< 2.2.1", :platforms => [:ruby]
gem 'rdoc', "~> 4.1", :platforms => [:ruby]
gem 'yard'
# ronn is used for generating manpages.
gem 'ronn', '~> 0.7.3', :platforms => [:ruby]
# webmock requires addressable as as of 2.5.0 addressable started
# requiring the public_suffix gem which requires Ruby 2
gem 'addressable', '< 2.5.0'
# webmock requires hashdiff which requires ruby 2 as of 0.3.9
gem 'hashdiff', '0.3.8'
gem 'webmock', '~> 2.3'
gem 'vcr', '~> 5.0'
gem "hiera-eyaml", *location_for(ENV['HIERA_EYAML_LOCATION'])
gem 'memory_profiler', :platforms => [:mri_21, :mri_22, :mri_23, :mri_24, :mri_25]
end
group(:development) do
if RUBY_PLATFORM != 'java'
gem 'ruby-prof', '>= 0.16.0', :require => false
end
gem 'gettext-setup', '~> 0.28', :require => false
end
group(:extra) do
gem "rack", "~> 1.4", :require => false
gem "puppetlabs_spec_helper", :require => false
gem "msgpack", :require => false
end
if File.exist? "#{__FILE__}.local"
eval(File.read("#{__FILE__}.local"), binding)
end
# vim:filetype=ruby
|