chef-dk 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTING.md +192 -0
  3. data/LICENSE +201 -0
  4. data/README.md +198 -0
  5. data/Rakefile +18 -0
  6. data/bin/chef +25 -0
  7. data/lib/chef-dk.rb +19 -0
  8. data/lib/chef-dk/builtin_commands.rb +31 -0
  9. data/lib/chef-dk/chef_runner.rb +83 -0
  10. data/lib/chef-dk/cli.rb +135 -0
  11. data/lib/chef-dk/command/base.rb +71 -0
  12. data/lib/chef-dk/command/exec.rb +33 -0
  13. data/lib/chef-dk/command/gem.rb +47 -0
  14. data/lib/chef-dk/command/generate.rb +97 -0
  15. data/lib/chef-dk/command/generator_commands.rb +417 -0
  16. data/lib/chef-dk/command/shell_init.rb +80 -0
  17. data/lib/chef-dk/command/verify.rb +226 -0
  18. data/lib/chef-dk/commands_map.rb +115 -0
  19. data/lib/chef-dk/component_test.rb +142 -0
  20. data/lib/chef-dk/cookbook_metadata.rb +36 -0
  21. data/lib/chef-dk/cookbook_omnifetch.rb +29 -0
  22. data/lib/chef-dk/cookbook_profiler/git.rb +95 -0
  23. data/lib/chef-dk/cookbook_profiler/identifiers.rb +79 -0
  24. data/lib/chef-dk/cookbook_profiler/null_scm.rb +32 -0
  25. data/lib/chef-dk/exceptions.rb +46 -0
  26. data/lib/chef-dk/generator.rb +70 -0
  27. data/lib/chef-dk/helpers.rb +95 -0
  28. data/lib/chef-dk/policyfile/chef_server_cookbook_source.rb +46 -0
  29. data/lib/chef-dk/policyfile/community_cookbook_source.rb +84 -0
  30. data/lib/chef-dk/policyfile/cookbook_sources.rb +20 -0
  31. data/lib/chef-dk/policyfile/cookbook_spec.rb +96 -0
  32. data/lib/chef-dk/policyfile/dsl.rb +148 -0
  33. data/lib/chef-dk/policyfile/null_cookbook_source.rb +37 -0
  34. data/lib/chef-dk/policyfile_compiler.rb +217 -0
  35. data/lib/chef-dk/policyfile_lock.rb +243 -0
  36. data/lib/chef-dk/shell_out.rb +36 -0
  37. data/lib/chef-dk/skeletons/code_generator/files/default/Berksfile +3 -0
  38. data/lib/chef-dk/skeletons/code_generator/files/default/chefignore +96 -0
  39. data/lib/chef-dk/skeletons/code_generator/files/default/converge_spec.rb +9 -0
  40. data/lib/chef-dk/skeletons/code_generator/files/default/gitignore +16 -0
  41. data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper.rb +8 -0
  42. data/lib/chef-dk/skeletons/code_generator/metadata.rb +8 -0
  43. data/lib/chef-dk/skeletons/code_generator/recipes/app.rb +65 -0
  44. data/lib/chef-dk/skeletons/code_generator/recipes/attribute.rb +12 -0
  45. data/lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb +50 -0
  46. data/lib/chef-dk/skeletons/code_generator/recipes/cookbook_file.rb +24 -0
  47. data/lib/chef-dk/skeletons/code_generator/recipes/lwrp.rb +23 -0
  48. data/lib/chef-dk/skeletons/code_generator/recipes/recipe.rb +9 -0
  49. data/lib/chef-dk/skeletons/code_generator/recipes/template.rb +32 -0
  50. data/lib/chef-dk/skeletons/code_generator/templates/default/README.md.erb +4 -0
  51. data/lib/chef-dk/skeletons/code_generator/templates/default/attribute.rb.erb +0 -0
  52. data/lib/chef-dk/skeletons/code_generator/templates/default/cookbook_file.erb +0 -0
  53. data/lib/chef-dk/skeletons/code_generator/templates/default/default_recipe.rb.erb +8 -0
  54. data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb +16 -0
  55. data/lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb +8 -0
  56. data/lib/chef-dk/skeletons/code_generator/templates/default/provider.rb.erb +0 -0
  57. data/lib/chef-dk/skeletons/code_generator/templates/default/recipe.rb.erb +0 -0
  58. data/lib/chef-dk/skeletons/code_generator/templates/default/resource.rb.erb +0 -0
  59. data/lib/chef-dk/skeletons/code_generator/templates/default/template.erb +0 -0
  60. data/lib/chef-dk/version.rb +20 -0
  61. data/spec/shared/setup_git_cookbooks.rb +53 -0
  62. data/spec/spec_helper.rb +32 -0
  63. data/spec/test_helpers.rb +59 -0
  64. data/spec/unit/chef_runner_spec.rb +70 -0
  65. data/spec/unit/cli_spec.rb +151 -0
  66. data/spec/unit/command/base_spec.rb +88 -0
  67. data/spec/unit/command/exec_spec.rb +123 -0
  68. data/spec/unit/command/generate_spec.rb +102 -0
  69. data/spec/unit/command/generator_commands_spec.rb +504 -0
  70. data/spec/unit/command/shell_init_spec.rb +109 -0
  71. data/spec/unit/command/verify_spec.rb +311 -0
  72. data/spec/unit/commands_map_spec.rb +57 -0
  73. data/spec/unit/component_test_spec.rb +126 -0
  74. data/spec/unit/cookbook_metadata_spec.rb +62 -0
  75. data/spec/unit/cookbook_profiler/git_spec.rb +127 -0
  76. data/spec/unit/cookbook_profiler/identifiers_spec.rb +79 -0
  77. data/spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_one.rb +9 -0
  78. data/spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_two.rb +9 -0
  79. data/spec/unit/fixtures/command/cli_test_command.rb +26 -0
  80. data/spec/unit/fixtures/command/explicit_path_example.rb +7 -0
  81. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml +16 -0
  82. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/Berksfile +3 -0
  83. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md +4 -0
  84. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/chefignore +96 -0
  85. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb +8 -0
  86. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb +8 -0
  87. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/.kitchen.yml +16 -0
  88. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/Berksfile +3 -0
  89. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/README.md +4 -0
  90. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/chefignore +96 -0
  91. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/metadata.rb +8 -0
  92. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/recipes/default.rb +8 -0
  93. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/.kitchen.yml +16 -0
  94. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/Berksfile +3 -0
  95. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/README.md +4 -0
  96. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/chefignore +96 -0
  97. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/metadata.rb +8 -0
  98. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/recipes/default.rb +8 -0
  99. data/spec/unit/fixtures/cookbooks_api/pruned_small_universe.json +1322 -0
  100. data/spec/unit/fixtures/cookbooks_api/small_universe.json +2987 -0
  101. data/spec/unit/fixtures/cookbooks_api/universe.json +1 -0
  102. data/spec/unit/fixtures/cookbooks_api/update_fixtures.rb +36 -0
  103. data/spec/unit/fixtures/dev_cookbooks/README.md +16 -0
  104. data/spec/unit/fixtures/dev_cookbooks/bar-cookbook.gitbundle +0 -0
  105. data/spec/unit/fixtures/eg_omnibus_dir/missing_apps/bin/.keep +0 -0
  106. data/spec/unit/fixtures/eg_omnibus_dir/missing_apps/embedded/.keep +0 -0
  107. data/spec/unit/fixtures/eg_omnibus_dir/missing_apps/embedded/bin/.keep +0 -0
  108. data/spec/unit/fixtures/eg_omnibus_dir/missing_component/bin/.keep +0 -0
  109. data/spec/unit/fixtures/eg_omnibus_dir/missing_component/embedded/apps/berkshelf/.keep +0 -0
  110. data/spec/unit/fixtures/eg_omnibus_dir/missing_component/embedded/apps/test-kitchen/.keep +0 -0
  111. data/spec/unit/fixtures/eg_omnibus_dir/missing_component/embedded/bin/.keep +0 -0
  112. data/spec/unit/fixtures/eg_omnibus_dir/valid/bin/.keep +0 -0
  113. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/integration_test +2 -0
  114. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/verify_me +5 -0
  115. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/chef-dk/.keep +0 -0
  116. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/chef/verify_me +3 -0
  117. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/test-kitchen/verify_me +2 -0
  118. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/bin/.keep +0 -0
  119. data/spec/unit/fixtures/example_app/Policyfile.rb +0 -0
  120. data/spec/unit/fixtures/example_cookbook/.gitignore +17 -0
  121. data/spec/unit/fixtures/example_cookbook/.kitchen.yml +16 -0
  122. data/spec/unit/fixtures/example_cookbook/Berksfile +3 -0
  123. data/spec/unit/fixtures/example_cookbook/README.md +4 -0
  124. data/spec/unit/fixtures/example_cookbook/chefignore +96 -0
  125. data/spec/unit/fixtures/example_cookbook/metadata.rb +8 -0
  126. data/spec/unit/fixtures/example_cookbook/recipes/default.rb +8 -0
  127. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/.kitchen.yml +16 -0
  128. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/Berksfile +3 -0
  129. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/README.md +4 -0
  130. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/chefignore +96 -0
  131. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/metadata.rb +8 -0
  132. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/recipes/default.rb +8 -0
  133. data/spec/unit/fixtures/local_path_cookbooks/metadata-missing/README.md +2 -0
  134. data/spec/unit/policyfile/chef_server_cookbook_source_spec.rb +34 -0
  135. data/spec/unit/policyfile/community_cookbook_source_spec.rb +51 -0
  136. data/spec/unit/policyfile/cookbook_spec_spec.rb +200 -0
  137. data/spec/unit/policyfile/null_cookbook_source_spec.rb +35 -0
  138. data/spec/unit/policyfile_builder_spec.rb +489 -0
  139. data/spec/unit/policyfile_demands_spec.rb +484 -0
  140. data/spec/unit/policyfile_evaluation_spec.rb +284 -0
  141. data/spec/unit/shell_out_spec.rb +34 -0
  142. metadata +422 -0
@@ -0,0 +1,284 @@
1
+ #
2
+ # Copyright:: Copyright (c) 2014 Chef Software Inc.
3
+ # License:: Apache License, Version 2.0
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+
18
+ require 'spec_helper'
19
+ require 'chef-dk/policyfile_compiler'
20
+
21
+ describe ChefDK::PolicyfileCompiler do
22
+
23
+ let(:policyfile) { ChefDK::PolicyfileCompiler.evaluate(policyfile_rb, "TestPolicyfile.rb") }
24
+
25
+ describe "Evaluate a policyfile" do
26
+
27
+ describe "when the policyfile is not valid" do
28
+
29
+ describe "when error! is called" do
30
+
31
+ let(:policyfile_rb) { "raise 'oops'" }
32
+
33
+ it "raises a PolicyfileError" do
34
+ expect { policyfile.error! }.to raise_error(ChefDK::PolicyfileError)
35
+ end
36
+ end
37
+
38
+ context "Given an empty policyfile" do
39
+
40
+ let(:policyfile_rb) { "" }
41
+
42
+ it "has an invalid run_list" do
43
+ expect(policyfile.errors).to include("Invalid run_list. run_list cannot be empty")
44
+ end
45
+
46
+ end
47
+
48
+ context "Given a policyfile with a syntax error" do
49
+
50
+ let(:policyfile_rb) { "{{{{::::{{::" }
51
+
52
+ it "has a syntax error message" do
53
+ expected_error=<<-E
54
+ Invalid ruby syntax in policyfile 'TestPolicyfile.rb':
55
+
56
+ TestPolicyfile.rb:1: syntax error, unexpected :: at EXPR_BEG, expecting tCONSTANT
57
+ {{{{::::{{::
58
+ ^
59
+ TestPolicyfile.rb:1: syntax error, unexpected end-of-input, expecting tCONSTANT
60
+ {{{{::::{{::
61
+ ^
62
+ E
63
+ expect(policyfile).to have(1).errors
64
+ expect(policyfile.errors.first).to eq(expected_error.chomp)
65
+ end
66
+
67
+ end
68
+
69
+ context "Given a policyfile with a ruby error" do
70
+
71
+ let(:policyfile_rb) { "raise 'oops'" }
72
+
73
+ it "has an error message with code context" do
74
+ expect(policyfile).to have(1).errors
75
+ expected_message = <<-E
76
+ Evaluation of policyfile 'TestPolicyfile.rb' raised an exception
77
+ Exception: RuntimeError "oops"
78
+
79
+ Relevant Code:
80
+ 1: raise 'oops'
81
+
82
+ Backtrace:
83
+ TestPolicyfile.rb:1:in `eval_policyfile'
84
+ E
85
+ expect(policyfile.errors.first).to eq(expected_message)
86
+ end
87
+ end
88
+
89
+ context "when policyfile evaluation is aborted by user signal" do
90
+
91
+ let(:policyfile_rb) { "raise Interrupt" }
92
+
93
+ it "allows the exception to bubble up" do
94
+ expect { policyfile }.to raise_error(Interrupt)
95
+ end
96
+ end
97
+
98
+ context "when given an invalid default source type" do
99
+
100
+ let(:policyfile_rb) do
101
+ <<-EOH
102
+ run_list "foo"
103
+ default_source :herp, "derp"
104
+ EOH
105
+ end
106
+
107
+ it "has an invalid source error" do
108
+ expect(policyfile).to have(1).errors
109
+ expect(policyfile.errors.first).to eq("Invalid default_source type ':herp'")
110
+ end
111
+ end
112
+
113
+ context "when the url is omitted for chef server default source" do
114
+ let(:policyfile_rb) do
115
+ <<-EOH
116
+ run_list "foo"
117
+ default_source :chef_server
118
+ EOH
119
+ end
120
+
121
+ it "has an invalid source error" do
122
+ expect(policyfile).to have(1).errors
123
+ expect(policyfile.errors.first).to eq("You must specify the server's URI when using a default_source :chef_server")
124
+ end
125
+
126
+ end
127
+ end
128
+
129
+ context "Given a minimal valid policyfile" do
130
+
131
+ let(:policyfile_rb) do
132
+ <<-EOH
133
+ run_list "foo", "bar"
134
+ EOH
135
+ end
136
+
137
+ it "has no errors" do
138
+ expect(policyfile.errors).to eq([])
139
+ end
140
+
141
+ it "has a run_list" do
142
+ expect(policyfile.run_list).to eq(%w[foo bar])
143
+ end
144
+
145
+ it "gives the run_list as the expanded run_list" do
146
+ expect(policyfile.expanded_run_list).to eq(%w[foo bar])
147
+ end
148
+
149
+ it "has no default cookbook source" do
150
+ expect(policyfile.default_source).to be_a(ChefDK::Policyfile::NullCookbookSource)
151
+ end
152
+
153
+ context "with the default source set to the community site" do
154
+
155
+ let(:policyfile_rb) do
156
+ <<-EOH
157
+ run_list "foo", "bar"
158
+ default_source :community
159
+ EOH
160
+ end
161
+
162
+ it "has a default source" do
163
+ expect(policyfile.errors).to eq([])
164
+ expected = ChefDK::Policyfile::CommunityCookbookSource.new("https://supermarket.getchef.com")
165
+ expect(policyfile.default_source).to eq(expected)
166
+ end
167
+
168
+ context "with a custom URI" do
169
+
170
+ let(:policyfile_rb) do
171
+ <<-EOH
172
+ run_list "foo", "bar"
173
+ default_source :community, "https://cookbook-api.example.com"
174
+ EOH
175
+ end
176
+
177
+ it "has a default source" do
178
+ expect(policyfile.errors).to eq([])
179
+ expected = ChefDK::Policyfile::CommunityCookbookSource.new("https://cookbook-api.example.com")
180
+ expect(policyfile.default_source).to eq(expected)
181
+ end
182
+
183
+ end
184
+
185
+ end
186
+
187
+ context "with the default source set to a chef server" do
188
+
189
+ let(:policyfile_rb) do
190
+ <<-EOH
191
+ run_list "foo", "bar"
192
+ default_source :chef_server, "https://mychef.example.com"
193
+ EOH
194
+ end
195
+
196
+ it "has a default source" do
197
+ expect(policyfile.errors).to eq([])
198
+ expected = ChefDK::Policyfile::ChefServerCookbookSource.new("https://mychef.example.com")
199
+ expect(policyfile.default_source).to eq(expected)
200
+ end
201
+
202
+ end
203
+
204
+ end
205
+
206
+ describe "assigning cookbooks to specific sources" do
207
+
208
+ before do
209
+ expect(policyfile.errors).to eq([])
210
+ end
211
+
212
+ context "when a cookbook is assigned to a local source" do
213
+
214
+ let(:policyfile_rb) do
215
+ <<-EOH
216
+ run_list "foo"
217
+ cookbook "foo", path: "local_cookbooks/foo"
218
+ EOH
219
+ end
220
+
221
+ it "sets the source of the cookbook to the local path" do
222
+ expected_cb_spec = ChefDK::Policyfile::CookbookSpec.new("foo", ">= 0.0.0", {path: "local_cookbooks/foo"}, "TestPolicyfile.rb")
223
+ expect(policyfile.policyfile_cookbook_specs).to eq("foo" => expected_cb_spec)
224
+ end
225
+
226
+ end
227
+
228
+ context "when a cookbook is assigned to a git source" do
229
+ let(:policyfile_rb) do
230
+ <<-EOH
231
+ run_list "foo"
232
+ cookbook "foo", git: "git://example.com:me/foo-cookbook.git"
233
+ EOH
234
+ end
235
+
236
+ it "sets the source of the cookbook to the git URL" do
237
+ expected_cb_spec = ChefDK::Policyfile::CookbookSpec.new("foo", ">= 0.0.0", {git: "git://example.com:me/foo-cookbook.git"}, "TestPolicyfile.rb")
238
+ expect(policyfile.policyfile_cookbook_specs).to eq("foo" => expected_cb_spec)
239
+ end
240
+
241
+ end
242
+
243
+ context "when a cookbook is assigned to a chef_server source" do
244
+ let(:policyfile_rb) do
245
+ <<-EOH
246
+ run_list "foo"
247
+ cookbook "foo", chef_server: "https://mychefserver.example.com"
248
+ EOH
249
+ end
250
+
251
+ it "sets the source of the cookbook to the git URL" do
252
+ expected_cb_spec = ChefDK::Policyfile::CookbookSpec.new("foo", ">= 0.0.0", {chef_server: "https://mychefserver.example.com"}, "TestPolicyfile.rb")
253
+ expect(policyfile.policyfile_cookbook_specs).to eq("foo" => expected_cb_spec)
254
+ end
255
+
256
+ end
257
+
258
+ end
259
+
260
+ describe "assigning a cookbook to conflicting sources" do
261
+ let(:policyfile_rb) do
262
+ <<-EOH
263
+ run_list "foo"
264
+ cookbook "foo", path: "local_cookbooks/foo"
265
+ cookbook "foo", chef_server: "https://mychefserver.example.com"
266
+ EOH
267
+ end
268
+
269
+ it "has a conflicting sources error" do
270
+ expected = <<-EOH
271
+ Cookbook 'foo' assigned to conflicting sources
272
+
273
+ Previous source: {:path=>"local_cookbooks/foo"}
274
+ Conflicts with: {:chef_server=>"https://mychefserver.example.com"}
275
+ EOH
276
+ expect(policyfile).to have(1).errors
277
+ expect(policyfile.errors.first).to eq(expected)
278
+ end
279
+
280
+ end
281
+
282
+ end
283
+
284
+ end
@@ -0,0 +1,34 @@
1
+ #
2
+ # Copyright:: Copyright (c) 2014 Chef Software Inc.
3
+ # License:: Apache License, Version 2.0
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+
18
+ require 'spec_helper'
19
+ require 'chef-dk/shell_out'
20
+
21
+ describe ChefDK::ShellOut do
22
+
23
+ describe "providing the API expected by CookbookOmnifetch" do
24
+
25
+ it "provides a `shell_out` class method" do
26
+ expect(described_class).to respond_to(:shell_out)
27
+ end
28
+
29
+ it "responds to #success?" do
30
+ expect(described_class.new("echo 'foo'")).to respond_to(:success?)
31
+ end
32
+
33
+ end
34
+ end
metadata ADDED
@@ -0,0 +1,422 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: chef-dk
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Daniel DeLeo
8
+ - Lamont Granquist
9
+ - Serdar Sutay
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2014-08-15 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: mixlib-cli
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '1.5'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: '1.5'
29
+ - !ruby/object:Gem::Dependency
30
+ name: mixlib-shellout
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '1.4'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.4'
43
+ - !ruby/object:Gem::Dependency
44
+ name: chef
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '11.12'
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '11.12'
57
+ - !ruby/object:Gem::Dependency
58
+ name: solve
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '1.2'
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '1.2'
71
+ - !ruby/object:Gem::Dependency
72
+ name: cookbook-omnifetch
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: '0.0'
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: '0.0'
85
+ - !ruby/object:Gem::Dependency
86
+ name: rspec-core
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: 2.14.0
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: 2.14.0
99
+ - !ruby/object:Gem::Dependency
100
+ name: rspec-expectations
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: 2.14.0
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - "~>"
111
+ - !ruby/object:Gem::Version
112
+ version: 2.14.0
113
+ - !ruby/object:Gem::Dependency
114
+ name: rspec-mocks
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: 2.14.0
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: 2.14.0
127
+ - !ruby/object:Gem::Dependency
128
+ name: pry-debugger
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ version: '0'
141
+ description: A streamlined development and deployment workflow for Chef platform.
142
+ email:
143
+ - dan@getchef.com
144
+ - lamont@getchef.com
145
+ - serdar@getchef.com
146
+ executables:
147
+ - chef
148
+ extensions: []
149
+ extra_rdoc_files: []
150
+ files:
151
+ - CONTRIBUTING.md
152
+ - LICENSE
153
+ - README.md
154
+ - Rakefile
155
+ - bin/chef
156
+ - lib/chef-dk.rb
157
+ - lib/chef-dk/builtin_commands.rb
158
+ - lib/chef-dk/chef_runner.rb
159
+ - lib/chef-dk/cli.rb
160
+ - lib/chef-dk/command/base.rb
161
+ - lib/chef-dk/command/exec.rb
162
+ - lib/chef-dk/command/gem.rb
163
+ - lib/chef-dk/command/generate.rb
164
+ - lib/chef-dk/command/generator_commands.rb
165
+ - lib/chef-dk/command/shell_init.rb
166
+ - lib/chef-dk/command/verify.rb
167
+ - lib/chef-dk/commands_map.rb
168
+ - lib/chef-dk/component_test.rb
169
+ - lib/chef-dk/cookbook_metadata.rb
170
+ - lib/chef-dk/cookbook_omnifetch.rb
171
+ - lib/chef-dk/cookbook_profiler/git.rb
172
+ - lib/chef-dk/cookbook_profiler/identifiers.rb
173
+ - lib/chef-dk/cookbook_profiler/null_scm.rb
174
+ - lib/chef-dk/exceptions.rb
175
+ - lib/chef-dk/generator.rb
176
+ - lib/chef-dk/helpers.rb
177
+ - lib/chef-dk/policyfile/chef_server_cookbook_source.rb
178
+ - lib/chef-dk/policyfile/community_cookbook_source.rb
179
+ - lib/chef-dk/policyfile/cookbook_sources.rb
180
+ - lib/chef-dk/policyfile/cookbook_spec.rb
181
+ - lib/chef-dk/policyfile/dsl.rb
182
+ - lib/chef-dk/policyfile/null_cookbook_source.rb
183
+ - lib/chef-dk/policyfile_compiler.rb
184
+ - lib/chef-dk/policyfile_lock.rb
185
+ - lib/chef-dk/shell_out.rb
186
+ - lib/chef-dk/skeletons/code_generator/files/default/Berksfile
187
+ - lib/chef-dk/skeletons/code_generator/files/default/chefignore
188
+ - lib/chef-dk/skeletons/code_generator/files/default/converge_spec.rb
189
+ - lib/chef-dk/skeletons/code_generator/files/default/gitignore
190
+ - lib/chef-dk/skeletons/code_generator/files/default/spec_helper.rb
191
+ - lib/chef-dk/skeletons/code_generator/metadata.rb
192
+ - lib/chef-dk/skeletons/code_generator/recipes/app.rb
193
+ - lib/chef-dk/skeletons/code_generator/recipes/attribute.rb
194
+ - lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb
195
+ - lib/chef-dk/skeletons/code_generator/recipes/cookbook_file.rb
196
+ - lib/chef-dk/skeletons/code_generator/recipes/lwrp.rb
197
+ - lib/chef-dk/skeletons/code_generator/recipes/recipe.rb
198
+ - lib/chef-dk/skeletons/code_generator/recipes/template.rb
199
+ - lib/chef-dk/skeletons/code_generator/templates/default/README.md.erb
200
+ - lib/chef-dk/skeletons/code_generator/templates/default/attribute.rb.erb
201
+ - lib/chef-dk/skeletons/code_generator/templates/default/cookbook_file.erb
202
+ - lib/chef-dk/skeletons/code_generator/templates/default/default_recipe.rb.erb
203
+ - lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb
204
+ - lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb
205
+ - lib/chef-dk/skeletons/code_generator/templates/default/provider.rb.erb
206
+ - lib/chef-dk/skeletons/code_generator/templates/default/recipe.rb.erb
207
+ - lib/chef-dk/skeletons/code_generator/templates/default/resource.rb.erb
208
+ - lib/chef-dk/skeletons/code_generator/templates/default/template.erb
209
+ - lib/chef-dk/version.rb
210
+ - spec/shared/setup_git_cookbooks.rb
211
+ - spec/spec_helper.rb
212
+ - spec/test_helpers.rb
213
+ - spec/unit/chef_runner_spec.rb
214
+ - spec/unit/cli_spec.rb
215
+ - spec/unit/command/base_spec.rb
216
+ - spec/unit/command/exec_spec.rb
217
+ - spec/unit/command/generate_spec.rb
218
+ - spec/unit/command/generator_commands_spec.rb
219
+ - spec/unit/command/shell_init_spec.rb
220
+ - spec/unit/command/verify_spec.rb
221
+ - spec/unit/commands_map_spec.rb
222
+ - spec/unit/component_test_spec.rb
223
+ - spec/unit/cookbook_metadata_spec.rb
224
+ - spec/unit/cookbook_profiler/git_spec.rb
225
+ - spec/unit/cookbook_profiler/identifiers_spec.rb
226
+ - spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_one.rb
227
+ - spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_two.rb
228
+ - spec/unit/fixtures/command/cli_test_command.rb
229
+ - spec/unit/fixtures/command/explicit_path_example.rb
230
+ - spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml
231
+ - spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/Berksfile
232
+ - spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md
233
+ - spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/chefignore
234
+ - spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb
235
+ - spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb
236
+ - spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/.kitchen.yml
237
+ - spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/Berksfile
238
+ - spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/README.md
239
+ - spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/chefignore
240
+ - spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/metadata.rb
241
+ - spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/recipes/default.rb
242
+ - spec/unit/fixtures/cookbook_cache/foo-1.0.0/.kitchen.yml
243
+ - spec/unit/fixtures/cookbook_cache/foo-1.0.0/Berksfile
244
+ - spec/unit/fixtures/cookbook_cache/foo-1.0.0/README.md
245
+ - spec/unit/fixtures/cookbook_cache/foo-1.0.0/chefignore
246
+ - spec/unit/fixtures/cookbook_cache/foo-1.0.0/metadata.rb
247
+ - spec/unit/fixtures/cookbook_cache/foo-1.0.0/recipes/default.rb
248
+ - spec/unit/fixtures/cookbooks_api/pruned_small_universe.json
249
+ - spec/unit/fixtures/cookbooks_api/small_universe.json
250
+ - spec/unit/fixtures/cookbooks_api/universe.json
251
+ - spec/unit/fixtures/cookbooks_api/update_fixtures.rb
252
+ - spec/unit/fixtures/dev_cookbooks/README.md
253
+ - spec/unit/fixtures/dev_cookbooks/bar-cookbook.gitbundle
254
+ - spec/unit/fixtures/eg_omnibus_dir/missing_apps/bin/.keep
255
+ - spec/unit/fixtures/eg_omnibus_dir/missing_apps/embedded/.keep
256
+ - spec/unit/fixtures/eg_omnibus_dir/missing_apps/embedded/bin/.keep
257
+ - spec/unit/fixtures/eg_omnibus_dir/missing_component/bin/.keep
258
+ - spec/unit/fixtures/eg_omnibus_dir/missing_component/embedded/apps/berkshelf/.keep
259
+ - spec/unit/fixtures/eg_omnibus_dir/missing_component/embedded/apps/test-kitchen/.keep
260
+ - spec/unit/fixtures/eg_omnibus_dir/missing_component/embedded/bin/.keep
261
+ - spec/unit/fixtures/eg_omnibus_dir/valid/bin/.keep
262
+ - spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/integration_test
263
+ - spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/verify_me
264
+ - spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/chef-dk/.keep
265
+ - spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/chef/verify_me
266
+ - spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/test-kitchen/verify_me
267
+ - spec/unit/fixtures/eg_omnibus_dir/valid/embedded/bin/.keep
268
+ - spec/unit/fixtures/example_app/Policyfile.rb
269
+ - spec/unit/fixtures/example_cookbook/.git/HEAD
270
+ - spec/unit/fixtures/example_cookbook/.git/config
271
+ - spec/unit/fixtures/example_cookbook/.git/description
272
+ - spec/unit/fixtures/example_cookbook/.git/hooks/applypatch-msg.sample
273
+ - spec/unit/fixtures/example_cookbook/.git/hooks/commit-msg.sample
274
+ - spec/unit/fixtures/example_cookbook/.git/hooks/post-update.sample
275
+ - spec/unit/fixtures/example_cookbook/.git/hooks/pre-applypatch.sample
276
+ - spec/unit/fixtures/example_cookbook/.git/hooks/pre-commit.sample
277
+ - spec/unit/fixtures/example_cookbook/.git/hooks/pre-push.sample
278
+ - spec/unit/fixtures/example_cookbook/.git/hooks/pre-rebase.sample
279
+ - spec/unit/fixtures/example_cookbook/.git/hooks/prepare-commit-msg.sample
280
+ - spec/unit/fixtures/example_cookbook/.git/hooks/update.sample
281
+ - spec/unit/fixtures/example_cookbook/.git/info/exclude
282
+ - spec/unit/fixtures/example_cookbook/.gitignore
283
+ - spec/unit/fixtures/example_cookbook/.kitchen.yml
284
+ - spec/unit/fixtures/example_cookbook/Berksfile
285
+ - spec/unit/fixtures/example_cookbook/README.md
286
+ - spec/unit/fixtures/example_cookbook/chefignore
287
+ - spec/unit/fixtures/example_cookbook/metadata.rb
288
+ - spec/unit/fixtures/example_cookbook/recipes/default.rb
289
+ - spec/unit/fixtures/local_path_cookbooks/local-cookbook/.kitchen.yml
290
+ - spec/unit/fixtures/local_path_cookbooks/local-cookbook/Berksfile
291
+ - spec/unit/fixtures/local_path_cookbooks/local-cookbook/README.md
292
+ - spec/unit/fixtures/local_path_cookbooks/local-cookbook/chefignore
293
+ - spec/unit/fixtures/local_path_cookbooks/local-cookbook/metadata.rb
294
+ - spec/unit/fixtures/local_path_cookbooks/local-cookbook/recipes/default.rb
295
+ - spec/unit/fixtures/local_path_cookbooks/metadata-missing/README.md
296
+ - spec/unit/policyfile/chef_server_cookbook_source_spec.rb
297
+ - spec/unit/policyfile/community_cookbook_source_spec.rb
298
+ - spec/unit/policyfile/cookbook_spec_spec.rb
299
+ - spec/unit/policyfile/null_cookbook_source_spec.rb
300
+ - spec/unit/policyfile_builder_spec.rb
301
+ - spec/unit/policyfile_demands_spec.rb
302
+ - spec/unit/policyfile_evaluation_spec.rb
303
+ - spec/unit/shell_out_spec.rb
304
+ homepage: http://www.getchef.com/
305
+ licenses: []
306
+ metadata: {}
307
+ post_install_message:
308
+ rdoc_options: []
309
+ require_paths:
310
+ - lib
311
+ required_ruby_version: !ruby/object:Gem::Requirement
312
+ requirements:
313
+ - - ">="
314
+ - !ruby/object:Gem::Version
315
+ version: '2.0'
316
+ required_rubygems_version: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - ">="
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
321
+ requirements: []
322
+ rubyforge_project:
323
+ rubygems_version: 2.2.2
324
+ signing_key:
325
+ specification_version: 4
326
+ summary: A streamlined development and deployment workflow for Chef platform.
327
+ test_files:
328
+ - spec/shared/setup_git_cookbooks.rb
329
+ - spec/spec_helper.rb
330
+ - spec/test_helpers.rb
331
+ - spec/unit/chef_runner_spec.rb
332
+ - spec/unit/cli_spec.rb
333
+ - spec/unit/command/base_spec.rb
334
+ - spec/unit/command/exec_spec.rb
335
+ - spec/unit/command/generate_spec.rb
336
+ - spec/unit/command/generator_commands_spec.rb
337
+ - spec/unit/command/shell_init_spec.rb
338
+ - spec/unit/command/verify_spec.rb
339
+ - spec/unit/commands_map_spec.rb
340
+ - spec/unit/component_test_spec.rb
341
+ - spec/unit/cookbook_metadata_spec.rb
342
+ - spec/unit/cookbook_profiler/git_spec.rb
343
+ - spec/unit/cookbook_profiler/identifiers_spec.rb
344
+ - spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_one.rb
345
+ - spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_two.rb
346
+ - spec/unit/fixtures/command/cli_test_command.rb
347
+ - spec/unit/fixtures/command/explicit_path_example.rb
348
+ - spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml
349
+ - spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/Berksfile
350
+ - spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md
351
+ - spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/chefignore
352
+ - spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb
353
+ - spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb
354
+ - spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/.kitchen.yml
355
+ - spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/Berksfile
356
+ - spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/README.md
357
+ - spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/chefignore
358
+ - spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/metadata.rb
359
+ - spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/recipes/default.rb
360
+ - spec/unit/fixtures/cookbook_cache/foo-1.0.0/.kitchen.yml
361
+ - spec/unit/fixtures/cookbook_cache/foo-1.0.0/Berksfile
362
+ - spec/unit/fixtures/cookbook_cache/foo-1.0.0/README.md
363
+ - spec/unit/fixtures/cookbook_cache/foo-1.0.0/chefignore
364
+ - spec/unit/fixtures/cookbook_cache/foo-1.0.0/metadata.rb
365
+ - spec/unit/fixtures/cookbook_cache/foo-1.0.0/recipes/default.rb
366
+ - spec/unit/fixtures/cookbooks_api/pruned_small_universe.json
367
+ - spec/unit/fixtures/cookbooks_api/small_universe.json
368
+ - spec/unit/fixtures/cookbooks_api/universe.json
369
+ - spec/unit/fixtures/cookbooks_api/update_fixtures.rb
370
+ - spec/unit/fixtures/dev_cookbooks/README.md
371
+ - spec/unit/fixtures/dev_cookbooks/bar-cookbook.gitbundle
372
+ - spec/unit/fixtures/eg_omnibus_dir/missing_apps/bin/.keep
373
+ - spec/unit/fixtures/eg_omnibus_dir/missing_apps/embedded/.keep
374
+ - spec/unit/fixtures/eg_omnibus_dir/missing_apps/embedded/bin/.keep
375
+ - spec/unit/fixtures/eg_omnibus_dir/missing_component/bin/.keep
376
+ - spec/unit/fixtures/eg_omnibus_dir/missing_component/embedded/apps/berkshelf/.keep
377
+ - spec/unit/fixtures/eg_omnibus_dir/missing_component/embedded/apps/test-kitchen/.keep
378
+ - spec/unit/fixtures/eg_omnibus_dir/missing_component/embedded/bin/.keep
379
+ - spec/unit/fixtures/eg_omnibus_dir/valid/bin/.keep
380
+ - spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/integration_test
381
+ - spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/verify_me
382
+ - spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/chef-dk/.keep
383
+ - spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/chef/verify_me
384
+ - spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/test-kitchen/verify_me
385
+ - spec/unit/fixtures/eg_omnibus_dir/valid/embedded/bin/.keep
386
+ - spec/unit/fixtures/example_app/Policyfile.rb
387
+ - spec/unit/fixtures/example_cookbook/.git/HEAD
388
+ - spec/unit/fixtures/example_cookbook/.git/config
389
+ - spec/unit/fixtures/example_cookbook/.git/description
390
+ - spec/unit/fixtures/example_cookbook/.git/hooks/applypatch-msg.sample
391
+ - spec/unit/fixtures/example_cookbook/.git/hooks/commit-msg.sample
392
+ - spec/unit/fixtures/example_cookbook/.git/hooks/post-update.sample
393
+ - spec/unit/fixtures/example_cookbook/.git/hooks/pre-applypatch.sample
394
+ - spec/unit/fixtures/example_cookbook/.git/hooks/pre-commit.sample
395
+ - spec/unit/fixtures/example_cookbook/.git/hooks/pre-push.sample
396
+ - spec/unit/fixtures/example_cookbook/.git/hooks/pre-rebase.sample
397
+ - spec/unit/fixtures/example_cookbook/.git/hooks/prepare-commit-msg.sample
398
+ - spec/unit/fixtures/example_cookbook/.git/hooks/update.sample
399
+ - spec/unit/fixtures/example_cookbook/.git/info/exclude
400
+ - spec/unit/fixtures/example_cookbook/.gitignore
401
+ - spec/unit/fixtures/example_cookbook/.kitchen.yml
402
+ - spec/unit/fixtures/example_cookbook/Berksfile
403
+ - spec/unit/fixtures/example_cookbook/README.md
404
+ - spec/unit/fixtures/example_cookbook/chefignore
405
+ - spec/unit/fixtures/example_cookbook/metadata.rb
406
+ - spec/unit/fixtures/example_cookbook/recipes/default.rb
407
+ - spec/unit/fixtures/local_path_cookbooks/local-cookbook/.kitchen.yml
408
+ - spec/unit/fixtures/local_path_cookbooks/local-cookbook/Berksfile
409
+ - spec/unit/fixtures/local_path_cookbooks/local-cookbook/README.md
410
+ - spec/unit/fixtures/local_path_cookbooks/local-cookbook/chefignore
411
+ - spec/unit/fixtures/local_path_cookbooks/local-cookbook/metadata.rb
412
+ - spec/unit/fixtures/local_path_cookbooks/local-cookbook/recipes/default.rb
413
+ - spec/unit/fixtures/local_path_cookbooks/metadata-missing/README.md
414
+ - spec/unit/policyfile/chef_server_cookbook_source_spec.rb
415
+ - spec/unit/policyfile/community_cookbook_source_spec.rb
416
+ - spec/unit/policyfile/cookbook_spec_spec.rb
417
+ - spec/unit/policyfile/null_cookbook_source_spec.rb
418
+ - spec/unit/policyfile_builder_spec.rb
419
+ - spec/unit/policyfile_demands_spec.rb
420
+ - spec/unit/policyfile_evaluation_spec.rb
421
+ - spec/unit/shell_out_spec.rb
422
+ has_rdoc: