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
|
# This buys us the ability to be included in other Gemfiles
require_relative "tasks/gemfile_util"
extend GemfileUtil
source "https://rubygems.org"
# Pick the gemspec for our platform
gemspec_name = "chef"
Dir.glob("chef-*.gemspec").each do |gemspec_filename|
gemspec_filename =~ /^chef-(.+).gemspec/
gemspec_platform = $1
if Gem::Platform.match(Gem::Platform.new(gemspec_platform))
Bundler.ui.info "Using gemspec #{gemspec_filename} for current platform."
gemspec_name = "chef-#{gemspec_platform}"
end
end
gemspec name: gemspec_name
gem "activesupport", "< 4.0.0", group: :compat_testing, platform: "ruby"
gem "chef-config", path: File.expand_path("../chef-config", __FILE__) if File.exist?(File.expand_path("../chef-config", __FILE__))
# Ensure that we can always install rake, regardless of gem groups
gem "rake"
gem "bundler"
gem "cheffish"
group(:omnibus_package) do
gem "appbundler"
gem "rb-readline"
gem "nokogiri"
end
group(:omnibus_package, :pry) do
gem "pry"
gem "pry-byebug"
gem "pry-remote"
gem "pry-stack_explorer"
end
# These are used for external tests
group(:integration) do
gem "chef-provisioning"
gem "chef-provisioning-aws"
gem "chef-rewind"
gem "chef-sugar"
gem "chefspec"
gem "halite"
gem "poise"
gem "knife-windows"
gem "foodcritic"
end
group(:docgen) do
gem "yard"
end
group(:maintenance) do
gem "tomlrb"
# To sync maintainers with github
gem "octokit"
gem "netrc"
end
# Everything except AIX
group(:linux, :bsd, :mac_os_x, :solaris, :windows, :ruby_prof) do
# may need to disable this in insolation on fussy builds like AIX, RHEL4, etc
gem "ruby-prof"
end
unless $chef_platform == "windows"
# Everything except AIX and Windows
group(:linux, :bsd, :mac_os_x, :solaris) do
gem "ruby-shadow"
end
end
group(:development, :test) do
gem "simplecov"
gem "rack"
# for testing new chefstyle rules
# gem 'chefstyle', github: 'chef/chefstyle'
gem "chefstyle", git: "https://github.com/chef/chefstyle.git", branch: "master"
end
group(:changelog) do
gem "github_changelog_generator", "1.11.3"
end
group(:travis) do
# See `bundler-audit` in .travis.yml
gem "bundler-audit", git: "https://github.com/rubysec/bundler-audit.git", ref: "4e32fca"
end
instance_eval(ENV["GEMFILE_MOD"]) if ENV["GEMFILE_MOD"]
# If you want to load debugging tools into the bundle exec sandbox,
# add these additional dependencies into chef/Gemfile.local
eval(IO.read(__FILE__ + ".local"), binding) if File.exist?(__FILE__ + ".local")
|