forked from puppetlabs/puppet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gemfile
111 lines (95 loc) · 3.9 KB
/
Gemfile
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
101
102
103
104
105
106
107
108
109
110
111
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
# C Ruby (MRI) or Rubinius, but NOT Windows
platforms :ruby do
gem 'pry', :group => :development
gem 'yard', :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
gem "puppet", :path => File.dirname(__FILE__), :require => false
gem "facter", *location_for(ENV['FACTER_LOCATION'] || ['> 2.0', '< 4'])
gem "hiera", *location_for(ENV['HIERA_LOCATION'] || ['>= 2.0', '< 4'])
# PUP-7115 - return to a gem dependency in Puppet 5
# gem "semantic_puppet", *location_for(ENV['SEMANTIC_PUPPET_LOCATION'] || ['>= 0.1.3', '< 2'])
gem "rake", "10.1.1", :require => false
# Hiera has an unbound dependency on json_pure
# json_pure 2.0.2+ officially requires Ruby >= 2.0, but should have specified that in 2.0
gem 'json_pure', '~> 1.8', :require => false
# i18n support (gettext-setup and dependencies)
gem 'gettext-setup', '>= 0.10', '< 1.0', :require => false
gem 'locale', '~> 2.1', :require => false
group(:development, :test) do
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
# Mocha is not compatible across minor version changes; because of this only
# versions matching ~> 0.10.5 are supported. All other versions are unsupported
# and can be expected to fail.
gem "mocha", "~> 0.10.5", :require => false
gem "yarjuf", "~> 2.0"
# json-schema does not support windows, so omit it from the platforms list
# json-schema uses multi_json, but chokes with multi_json 1.7.9, so prefer 1.7.7
gem "multi_json", "1.7.7", :require => false, :platforms => [:ruby, :jruby]
gem "json-schema", "2.1.1", :require => false, :platforms => [:ruby, :jruby]
gem "rubocop", "~> 0.39.0", :platforms => [:ruby]
gem 'rdoc', "~> 4.1", :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'
gem 'webmock', '~> 1.24'
gem 'vcr', '~> 2.9'
gem "hocon", :require => false
gem "hiera-eyaml", :require => false
end
group(:development) do
if RUBY_PLATFORM != 'java'
gem 'ruby-prof', :require => false
end
end
group(:extra) do
gem "rack", "~> 1.4", :require => false
gem "net-ssh", '~> 2.1', :require => false
gem "puppetlabs_spec_helper", :require => false
gem "tzinfo", :require => false
gem "msgpack", :require => false
end
require 'yaml'
data = YAML.load_file(File.join(File.dirname(__FILE__), 'ext', 'project_data.yaml'))
bundle_platforms = data['bundle_platforms']
x64_platform = Gem::Platform.local.cpu == 'x64'
data['gem_platform_dependencies'].each_pair do |gem_platform, info|
next if gem_platform == 'x86-mingw32' && x64_platform
next if gem_platform == 'x64-mingw32' && !x64_platform
if bundle_deps = info['gem_runtime_dependencies']
bundle_platform = bundle_platforms[gem_platform] or raise "Missing bundle_platform"
if bundle_platform == "all"
bundle_deps.each_pair do |name, version|
gem(name, version, :require => false)
end
else
platform(bundle_platform.intern) do
bundle_deps.each_pair do |name, version|
gem(name, version, :require => false)
end
end
end
end
end
if File.exists? "#{__FILE__}.local"
eval(File.read("#{__FILE__}.local"), binding)
end
# vim:filetype=ruby