chef-dk 0.13.21 → 0.14.25

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 (336) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +186 -186
  3. data/Gemfile +37 -14
  4. data/Gemfile.lock +178 -72
  5. data/LICENSE +201 -201
  6. data/README.md +11 -148
  7. data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +27 -27
  8. data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +288 -288
  9. data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +52 -52
  10. data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +51 -51
  11. data/acceptance/.shared/kitchen_acceptance/metadata.rb +1 -1
  12. data/acceptance/Gemfile +2 -1
  13. data/acceptance/Gemfile.lock +39 -42
  14. data/acceptance/README.md +132 -132
  15. data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +2 -2
  16. data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +2 -2
  17. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
  18. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
  19. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
  20. data/acceptance/trivial/.kitchen.yml +7 -7
  21. data/acceptance/trivial/test/integration/chefdk-current-install/inspec/chef_client_spec.rb +5 -5
  22. data/bin/chef +25 -25
  23. data/lib/chef-dk.rb +19 -19
  24. data/lib/chef-dk/authenticated_http.rb +40 -40
  25. data/lib/chef-dk/chef_runner.rb +107 -107
  26. data/lib/chef-dk/cli.rb +200 -200
  27. data/lib/chef-dk/command/base.rb +79 -79
  28. data/lib/chef-dk/command/clean_policy_cookbooks.rb +116 -116
  29. data/lib/chef-dk/command/clean_policy_revisions.rb +113 -113
  30. data/lib/chef-dk/command/delete_policy.rb +122 -122
  31. data/lib/chef-dk/command/delete_policy_group.rb +122 -122
  32. data/lib/chef-dk/command/diff.rb +316 -316
  33. data/lib/chef-dk/command/env.rb +90 -90
  34. data/lib/chef-dk/command/exec.rb +45 -45
  35. data/lib/chef-dk/command/export.rb +157 -157
  36. data/lib/chef-dk/command/gem.rb +47 -47
  37. data/lib/chef-dk/command/generate.rb +120 -120
  38. data/lib/chef-dk/command/generator_commands.rb +83 -80
  39. data/lib/chef-dk/command/generator_commands/app.rb +107 -107
  40. data/lib/chef-dk/command/generator_commands/attribute.rb +37 -37
  41. data/lib/chef-dk/command/generator_commands/base.rb +148 -148
  42. data/lib/chef-dk/command/generator_commands/cookbook.rb +153 -153
  43. data/lib/chef-dk/command/generator_commands/cookbook_code_file.rb +100 -100
  44. data/lib/chef-dk/command/generator_commands/cookbook_file.rb +45 -45
  45. data/lib/chef-dk/command/generator_commands/generator_generator.rb +177 -177
  46. data/lib/chef-dk/command/generator_commands/lwrp.rb +36 -36
  47. data/lib/chef-dk/command/generator_commands/policyfile.rb +127 -127
  48. data/lib/chef-dk/command/generator_commands/recipe.rb +36 -36
  49. data/lib/chef-dk/command/generator_commands/repo.rb +125 -125
  50. data/lib/chef-dk/command/generator_commands/template.rb +46 -46
  51. data/lib/chef-dk/command/install.rb +121 -121
  52. data/lib/chef-dk/command/provision.rb +438 -438
  53. data/lib/chef-dk/command/push.rb +118 -118
  54. data/lib/chef-dk/command/push_archive.rb +126 -126
  55. data/lib/chef-dk/command/shell_init.rb +180 -180
  56. data/lib/chef-dk/command/show_policy.rb +165 -165
  57. data/lib/chef-dk/command/undelete.rb +155 -155
  58. data/lib/chef-dk/command/update.rb +148 -148
  59. data/lib/chef-dk/command/verify.rb +106 -29
  60. data/lib/chef-dk/completions/bash.sh.erb +5 -5
  61. data/lib/chef-dk/completions/chef.fish.erb +10 -10
  62. data/lib/chef-dk/completions/zsh.zsh.erb +21 -21
  63. data/lib/chef-dk/component_test.rb +30 -1
  64. data/lib/chef-dk/configurable.rb +69 -69
  65. data/lib/chef-dk/cookbook_metadata.rb +45 -45
  66. data/lib/chef-dk/cookbook_omnifetch.rb +32 -32
  67. data/lib/chef-dk/cookbook_profiler/git.rb +151 -151
  68. data/lib/chef-dk/cookbook_profiler/identifiers.rb +72 -72
  69. data/lib/chef-dk/cookbook_profiler/null_scm.rb +32 -32
  70. data/lib/chef-dk/exceptions.rb +129 -129
  71. data/lib/chef-dk/generator.rb +163 -163
  72. data/lib/chef-dk/helpers.rb +159 -159
  73. data/lib/chef-dk/pager.rb +106 -106
  74. data/lib/chef-dk/policyfile/chef_repo_cookbook_source.rb +138 -138
  75. data/lib/chef-dk/policyfile/chef_server_cookbook_source.rb +54 -54
  76. data/lib/chef-dk/policyfile/community_cookbook_source.rb +97 -97
  77. data/lib/chef-dk/policyfile/comparison_base.rb +124 -124
  78. data/lib/chef-dk/policyfile/cookbook_location_specification.rb +154 -154
  79. data/lib/chef-dk/policyfile/cookbook_locks.rb +466 -466
  80. data/lib/chef-dk/policyfile/cookbook_sources.rb +22 -22
  81. data/lib/chef-dk/policyfile/delivery_supermarket_source.rb +90 -90
  82. data/lib/chef-dk/policyfile/differ.rb +266 -266
  83. data/lib/chef-dk/policyfile/dsl.rb +261 -261
  84. data/lib/chef-dk/policyfile/lister.rb +232 -232
  85. data/lib/chef-dk/policyfile/null_cookbook_source.rb +45 -45
  86. data/lib/chef-dk/policyfile/read_cookbook_for_compat_mode_upload.rb +124 -124
  87. data/lib/chef-dk/policyfile/reports/install.rb +70 -70
  88. data/lib/chef-dk/policyfile/reports/table_printer.rb +58 -58
  89. data/lib/chef-dk/policyfile/reports/upload.rb +70 -70
  90. data/lib/chef-dk/policyfile/solution_dependencies.rb +298 -298
  91. data/lib/chef-dk/policyfile/storage_config.rb +100 -100
  92. data/lib/chef-dk/policyfile/undo_record.rb +142 -142
  93. data/lib/chef-dk/policyfile/undo_stack.rb +130 -130
  94. data/lib/chef-dk/policyfile/uploader.rb +213 -213
  95. data/lib/chef-dk/policyfile_compiler.rb +419 -419
  96. data/lib/chef-dk/policyfile_lock.rb +552 -552
  97. data/lib/chef-dk/policyfile_services/clean_policies.rb +95 -95
  98. data/lib/chef-dk/policyfile_services/clean_policy_cookbooks.rb +125 -125
  99. data/lib/chef-dk/policyfile_services/export_repo.rb +421 -421
  100. data/lib/chef-dk/policyfile_services/install.rb +126 -126
  101. data/lib/chef-dk/policyfile_services/push.rb +114 -114
  102. data/lib/chef-dk/policyfile_services/push_archive.rb +204 -204
  103. data/lib/chef-dk/policyfile_services/rm_policy.rb +142 -142
  104. data/lib/chef-dk/policyfile_services/rm_policy_group.rb +86 -86
  105. data/lib/chef-dk/policyfile_services/show_policy.rb +237 -237
  106. data/lib/chef-dk/policyfile_services/undelete.rb +108 -108
  107. data/lib/chef-dk/policyfile_services/update_attributes.rb +104 -104
  108. data/lib/chef-dk/service_exception_inspectors.rb +25 -25
  109. data/lib/chef-dk/service_exception_inspectors/base.rb +40 -40
  110. data/lib/chef-dk/service_exception_inspectors/http.rb +121 -121
  111. data/lib/chef-dk/service_exceptions.rb +143 -143
  112. data/lib/chef-dk/shell_out.rb +36 -36
  113. data/lib/chef-dk/skeletons/code_generator/files/default/Berksfile +3 -3
  114. data/lib/chef-dk/skeletons/code_generator/files/default/chefignore +102 -102
  115. data/lib/chef-dk/skeletons/code_generator/files/default/cookbook_readmes/README-policy.md +9 -9
  116. data/lib/chef-dk/skeletons/code_generator/files/default/cookbook_readmes/README.md +54 -54
  117. data/lib/chef-dk/skeletons/code_generator/files/default/gitignore +16 -16
  118. data/lib/chef-dk/skeletons/code_generator/files/default/repo/README.md +28 -28
  119. data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/README.md +27 -27
  120. data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/attributes/default.rb +7 -7
  121. data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/metadata.rb +3 -3
  122. data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/recipes/default.rb +8 -8
  123. data/lib/chef-dk/skeletons/code_generator/files/default/repo/data_bags/README.md +58 -58
  124. data/lib/chef-dk/skeletons/code_generator/files/default/repo/data_bags/example/example_item.json +3 -3
  125. data/lib/chef-dk/skeletons/code_generator/files/default/repo/dot-chef-repo.txt +6 -6
  126. data/lib/chef-dk/skeletons/code_generator/files/default/repo/environments/README.md +9 -9
  127. data/lib/chef-dk/skeletons/code_generator/files/default/repo/environments/example.json +12 -12
  128. data/lib/chef-dk/skeletons/code_generator/files/default/repo/policies/README.md +24 -24
  129. data/lib/chef-dk/skeletons/code_generator/files/default/repo/roles/README.md +9 -9
  130. data/lib/chef-dk/skeletons/code_generator/files/default/repo/roles/example.json +12 -12
  131. data/lib/chef-dk/skeletons/code_generator/files/default/serverspec_spec_helper.rb +8 -8
  132. data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper.rb +2 -2
  133. data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper_policyfile.rb +2 -2
  134. data/lib/chef-dk/skeletons/code_generator/metadata.rb +8 -8
  135. data/lib/chef-dk/skeletons/code_generator/recipes/app.rb +97 -97
  136. data/lib/chef-dk/skeletons/code_generator/recipes/attribute.rb +12 -12
  137. data/lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb +117 -117
  138. data/lib/chef-dk/skeletons/code_generator/recipes/cookbook_file.rb +24 -24
  139. data/lib/chef-dk/skeletons/code_generator/recipes/lwrp.rb +23 -23
  140. data/lib/chef-dk/skeletons/code_generator/recipes/policyfile.rb +8 -8
  141. data/lib/chef-dk/skeletons/code_generator/recipes/recipe.rb +27 -27
  142. data/lib/chef-dk/skeletons/code_generator/recipes/repo.rb +67 -67
  143. data/lib/chef-dk/skeletons/code_generator/recipes/template.rb +32 -32
  144. data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.all_rights.erb +3 -3
  145. data/lib/chef-dk/skeletons/code_generator/templates/default/{LICENSE.apache2.erb → LICENSE.apachev2.erb} +201 -201
  146. data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.gplv2.erb +339 -339
  147. data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.gplv3.erb +674 -674
  148. data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.mit.erb +21 -21
  149. data/lib/chef-dk/skeletons/code_generator/templates/default/Policyfile.rb.erb +25 -25
  150. data/lib/chef-dk/skeletons/code_generator/templates/default/README.md.erb +4 -4
  151. data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb +21 -21
  152. data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb +32 -32
  153. data/lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb +7 -7
  154. data/lib/chef-dk/skeletons/code_generator/templates/default/recipe.rb.erb +5 -5
  155. data/lib/chef-dk/skeletons/code_generator/templates/default/recipe_spec.rb.erb +20 -20
  156. data/lib/chef-dk/skeletons/code_generator/templates/default/repo/gitignore.erb +11 -11
  157. data/lib/chef-dk/skeletons/code_generator/templates/default/serverspec_default_spec.rb.erb +9 -9
  158. data/lib/chef-dk/ui.rb +58 -58
  159. data/lib/chef-dk/version.rb +1 -1
  160. data/lib/kitchen/provisioner/policyfile_zero.rb +195 -195
  161. data/omnibus_overrides.rb +19 -11
  162. data/spec/shared/a_file_generator.rb +125 -125
  163. data/spec/shared/a_generated_file.rb +12 -12
  164. data/spec/shared/command_with_ui_object.rb +11 -11
  165. data/spec/shared/custom_generator_cookbook.rb +130 -130
  166. data/spec/shared/fixture_cookbook_checksums.rb +47 -47
  167. data/spec/shared/setup_git_cookbooks.rb +53 -53
  168. data/spec/spec_helper.rb +51 -51
  169. data/spec/test_helpers.rb +84 -84
  170. data/spec/unit/chef_runner_spec.rb +139 -139
  171. data/spec/unit/cli_spec.rb +357 -357
  172. data/spec/unit/command/base_spec.rb +173 -169
  173. data/spec/unit/command/clean_policy_cookbooks_spec.rb +181 -181
  174. data/spec/unit/command/clean_policy_revisions_spec.rb +181 -181
  175. data/spec/unit/command/delete_policy_group_spec.rb +207 -207
  176. data/spec/unit/command/delete_policy_spec.rb +207 -207
  177. data/spec/unit/command/diff_spec.rb +312 -312
  178. data/spec/unit/command/env_spec.rb +52 -52
  179. data/spec/unit/command/exec_spec.rb +179 -179
  180. data/spec/unit/command/export_spec.rb +200 -200
  181. data/spec/unit/command/generate_spec.rb +142 -142
  182. data/spec/unit/command/generator_commands/app_spec.rb +169 -169
  183. data/spec/unit/command/generator_commands/attribute_spec.rb +32 -32
  184. data/spec/unit/command/generator_commands/base_spec.rb +136 -136
  185. data/spec/unit/command/generator_commands/cookbook_file_spec.rb +32 -32
  186. data/spec/unit/command/generator_commands/cookbook_spec.rb +450 -450
  187. data/spec/unit/command/generator_commands/generator_generator_spec.rb +229 -229
  188. data/spec/unit/command/generator_commands/lwrp_spec.rb +32 -32
  189. data/spec/unit/command/generator_commands/policyfile_spec.rb +225 -225
  190. data/spec/unit/command/generator_commands/recipe_spec.rb +34 -34
  191. data/spec/unit/command/generator_commands/repo_spec.rb +374 -367
  192. data/spec/unit/command/generator_commands/template_spec.rb +32 -32
  193. data/spec/unit/command/install_spec.rb +179 -179
  194. data/spec/unit/command/provision_spec.rb +592 -592
  195. data/spec/unit/command/push_archive_spec.rb +153 -153
  196. data/spec/unit/command/push_spec.rb +199 -199
  197. data/spec/unit/command/shell_init_spec.rb +329 -329
  198. data/spec/unit/command/show_policy_spec.rb +235 -235
  199. data/spec/unit/command/undelete_spec.rb +246 -246
  200. data/spec/unit/command/update_spec.rb +275 -275
  201. data/spec/unit/command/verify_spec.rb +15 -6
  202. data/spec/unit/commands_map_spec.rb +57 -57
  203. data/spec/unit/component_test_spec.rb +128 -126
  204. data/spec/unit/configurable_spec.rb +41 -41
  205. data/spec/unit/cookbook_metadata_spec.rb +98 -98
  206. data/spec/unit/cookbook_profiler/git_spec.rb +176 -176
  207. data/spec/unit/cookbook_profiler/identifiers_spec.rb +83 -83
  208. data/spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_one.rb +9 -9
  209. data/spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_two.rb +9 -9
  210. data/spec/unit/fixtures/command/cli_test_command.rb +26 -26
  211. data/spec/unit/fixtures/command/explicit_path_example.rb +7 -7
  212. data/spec/unit/fixtures/configurable/test_config_loader.rb +5 -5
  213. data/spec/unit/fixtures/configurable/test_configurable.rb +10 -10
  214. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml +16 -16
  215. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/Berksfile +3 -3
  216. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md +4 -4
  217. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/chefignore +96 -96
  218. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb +8 -8
  219. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb +8 -8
  220. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/.kitchen.yml +16 -16
  221. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/Berksfile +3 -3
  222. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/README.md +4 -4
  223. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/chefignore +96 -96
  224. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/metadata.rb +8 -8
  225. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/recipes/default.rb +8 -8
  226. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/.kitchen.yml +16 -16
  227. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/Berksfile +3 -3
  228. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/README.md +4 -4
  229. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/chefignore +96 -96
  230. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/metadata.rb +8 -8
  231. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/recipes/default.rb +8 -8
  232. data/spec/unit/fixtures/cookbooks_api/pruned_small_universe.json +1321 -1321
  233. data/spec/unit/fixtures/cookbooks_api/small_universe.json +2987 -2987
  234. data/spec/unit/fixtures/cookbooks_api/universe.json +1 -1
  235. data/spec/unit/fixtures/cookbooks_api/update_fixtures.rb +36 -36
  236. data/spec/unit/fixtures/dev_cookbooks/README.md +16 -16
  237. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/integration_test +2 -2
  238. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/verify_me +5 -5
  239. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/chef/verify_me +3 -3
  240. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/test-kitchen/verify_me +2 -2
  241. data/spec/unit/fixtures/example_cookbook/.gitignore +17 -17
  242. data/spec/unit/fixtures/example_cookbook/.kitchen.yml +16 -16
  243. data/spec/unit/fixtures/example_cookbook/Berksfile +3 -3
  244. data/spec/unit/fixtures/example_cookbook/README.md +4 -4
  245. data/spec/unit/fixtures/example_cookbook/chefignore +96 -96
  246. data/spec/unit/fixtures/example_cookbook/metadata.rb +8 -8
  247. data/spec/unit/fixtures/example_cookbook/recipes/default.rb +8 -8
  248. data/spec/unit/fixtures/example_cookbook_metadata_json_only/.gitignore +17 -17
  249. data/spec/unit/fixtures/example_cookbook_metadata_json_only/.kitchen.yml +16 -16
  250. data/spec/unit/fixtures/example_cookbook_metadata_json_only/Berksfile +3 -3
  251. data/spec/unit/fixtures/example_cookbook_metadata_json_only/README.md +4 -4
  252. data/spec/unit/fixtures/example_cookbook_metadata_json_only/chefignore +96 -96
  253. data/spec/unit/fixtures/example_cookbook_metadata_json_only/metadata.json +5 -5
  254. data/spec/unit/fixtures/example_cookbook_metadata_json_only/recipes/default.rb +8 -8
  255. data/spec/unit/fixtures/example_cookbook_no_metadata/.gitignore +17 -17
  256. data/spec/unit/fixtures/example_cookbook_no_metadata/.kitchen.yml +16 -16
  257. data/spec/unit/fixtures/example_cookbook_no_metadata/Berksfile +3 -3
  258. data/spec/unit/fixtures/example_cookbook_no_metadata/README.md +4 -4
  259. data/spec/unit/fixtures/example_cookbook_no_metadata/chefignore +96 -96
  260. data/spec/unit/fixtures/example_cookbook_no_metadata/recipes/default.rb +8 -8
  261. data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/README.md +4 -4
  262. data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/chefignore +96 -96
  263. data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/metadata.rb +8 -8
  264. data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/recipes/default.rb +8 -8
  265. data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/Berksfile +3 -3
  266. data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/README.md +4 -4
  267. data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/chefignore +96 -96
  268. data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/metadata.rb +9 -9
  269. data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/recipes/default.rb +8 -8
  270. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/.kitchen.yml +16 -16
  271. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/Berksfile +3 -3
  272. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/README.md +4 -4
  273. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/chefignore +96 -96
  274. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/metadata.rb +8 -8
  275. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/recipes/default.rb +8 -8
  276. data/spec/unit/fixtures/local_path_cookbooks/metadata-missing/README.md +2 -2
  277. data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml +16 -16
  278. data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md +4 -4
  279. data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb +8 -8
  280. data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb +8 -8
  281. data/spec/unit/generator_spec.rb +119 -120
  282. data/spec/unit/helpers_spec.rb +92 -92
  283. data/spec/unit/pager_spec.rb +119 -119
  284. data/spec/unit/policyfile/chef_repo_cookbook_source_spec.rb +93 -93
  285. data/spec/unit/policyfile/chef_server_cookbook_source_spec.rb +34 -34
  286. data/spec/unit/policyfile/community_cookbook_source_spec.rb +84 -84
  287. data/spec/unit/policyfile/comparison_base_spec.rb +343 -343
  288. data/spec/unit/policyfile/cookbook_location_specification_spec.rb +277 -277
  289. data/spec/unit/policyfile/cookbook_locks_spec.rb +529 -529
  290. data/spec/unit/policyfile/delivery_supermarket_source_spec.rb +130 -130
  291. data/spec/unit/policyfile/differ_spec.rb +687 -687
  292. data/spec/unit/policyfile/lister_spec.rb +272 -272
  293. data/spec/unit/policyfile/null_cookbook_source_spec.rb +35 -35
  294. data/spec/unit/policyfile/read_cookbook_for_compat_mode_upload_spec.rb +92 -92
  295. data/spec/unit/policyfile/reports/install_spec.rb +115 -115
  296. data/spec/unit/policyfile/reports/upload_spec.rb +96 -96
  297. data/spec/unit/policyfile/solution_dependencies_spec.rb +145 -145
  298. data/spec/unit/policyfile/storage_config_spec.rb +172 -172
  299. data/spec/unit/policyfile/undo_record_spec.rb +260 -260
  300. data/spec/unit/policyfile/undo_stack_spec.rb +266 -266
  301. data/spec/unit/policyfile/uploader_spec.rb +410 -410
  302. data/spec/unit/policyfile_demands_spec.rb +1203 -1203
  303. data/spec/unit/policyfile_evaluation_spec.rb +642 -642
  304. data/spec/unit/policyfile_lock_build_spec.rb +1056 -1056
  305. data/spec/unit/policyfile_lock_install_spec.rb +138 -138
  306. data/spec/unit/policyfile_lock_serialization_spec.rb +425 -425
  307. data/spec/unit/policyfile_lock_validation_spec.rb +611 -611
  308. data/spec/unit/policyfile_services/clean_policies_spec.rb +236 -236
  309. data/spec/unit/policyfile_services/clean_policy_cookbooks_spec.rb +275 -275
  310. data/spec/unit/policyfile_services/export_repo_spec.rb +481 -481
  311. data/spec/unit/policyfile_services/install_spec.rb +211 -211
  312. data/spec/unit/policyfile_services/push_archive_spec.rb +378 -378
  313. data/spec/unit/policyfile_services/push_spec.rb +233 -233
  314. data/spec/unit/policyfile_services/rm_policy_group_spec.rb +241 -241
  315. data/spec/unit/policyfile_services/rm_policy_spec.rb +266 -266
  316. data/spec/unit/policyfile_services/show_policy_spec.rb +889 -889
  317. data/spec/unit/policyfile_services/undelete_spec.rb +304 -304
  318. data/spec/unit/policyfile_services/update_attributes_spec.rb +217 -217
  319. data/spec/unit/service_exception_inspectors/base_spec.rb +43 -43
  320. data/spec/unit/service_exception_inspectors/http_spec.rb +140 -140
  321. data/spec/unit/shell_out_spec.rb +34 -34
  322. data/spec/unit/tasks/helpers_spec.rb +75 -0
  323. data/tasks/bin/bundle-platform +0 -0
  324. data/tasks/bin/bundle-platform.bat +0 -0
  325. data/tasks/bin/create-override-gemfile +110 -0
  326. data/tasks/bundle.rb +27 -11
  327. data/tasks/bundle_util.rb +6 -5
  328. data/tasks/dependencies.rb +97 -122
  329. data/tasks/gemfile_util.rb +357 -66
  330. data/tasks/helpers.rb +47 -0
  331. data/tasks/version.rb +1 -5
  332. data/version_policy.rb +66 -41
  333. data/warning.txt +9 -9
  334. metadata +7 -5
  335. data/Gemfile.windows +0 -34
  336. data/Gemfile.windows.lock +0 -936
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 722f7a9f5f65aa5ec8d60e293f8833f7c11ffe95
4
- data.tar.gz: f8fd85790ea98e1af069db59e5642e4a29445000
3
+ metadata.gz: 56f3de2dac282a2ab7e2015ae5b42c32b5fe4d9d
4
+ data.tar.gz: d3af30f15ecc0141c7623e4a89973c943ca602d4
5
5
  SHA512:
6
- metadata.gz: e034fb764e0325c9b4428b6404eb63ebc2a372d72c63b11b4554480a1259c76a4e8dccb81aa5f762808597f46fd9dc56fd068f2eee0ffc771dc5b8dffdffec21
7
- data.tar.gz: 002e7e0f1e9562ec3adc14ea22fad26f9215d97041ca371ee1a82731a1f2c12cfed81b64a1e71a8517e30199ad879767e3e861c0292ab89b36b645495e5b2064
6
+ metadata.gz: d17189a949334660451375b67f9a1856fd28788257a82becd0bfdd5abf1477ac8ffcaf8314e6caaa81968e7c3751761cd1f0786e9a892562bdd3d24ab0073af7
7
+ data.tar.gz: a618a60884cb008a1a23b219325cc28de4d2c7e09601b4f3e956bf9474257fde639cc986fa50a3bcea7ef0276270ebbaafbf8c6e5bf12b039ee655cef93a5448
data/CONTRIBUTING.md CHANGED
@@ -1,186 +1,186 @@
1
- # Contributing to Chef
2
-
3
- We are glad you want to contribute to Chef!
4
-
5
- We utilize **Github Issues** for issue tracking and contributions. You can contribute in two ways:
6
-
7
- 1. Reporting an issue or making a feature request [here](#issues).
8
- 2. Adding features or fixing bugs yourself and contributing your code to Chef.
9
-
10
- ## Contribution Process
11
-
12
- We have a 3 step process that utilizes **Github Issues**:
13
-
14
- 1. Sign or be added to an existing [Contributor License Agreement (CLA)](https://supermarket.chef.io/become-a-contributor).
15
- 2. Create a Github Pull Request.
16
- 3. Do [Code Review](#cr) with the **Chef Engineering Team** or **Chef Core Committers** on the pull request.
17
-
18
- ### <a name="pulls"></a> Chef Pull Requests
19
-
20
- Chef is built to last. We strive to ensure high quality throughout the Chef experience. In order to ensure
21
- this, we require a couple of things for all pull requests to Chef:
22
-
23
- 1. **Tests:** To ensure high quality code and protect against future regressions, we require all the
24
- code in Chef to have at least unit test coverage. Run ```bundle exec rspec``` from the project root
25
- to execute the tests.
26
- 2. **Green Travis Run:** We use [Travis CI](https://travis-ci.org/) in order to run our tests
27
- continuously on all the pull requests. We require the Travis runs to succeed on every pull
28
- request before being merged.
29
-
30
- In addition to this it would be nice to include the description of the problem you are solving
31
- with your change. You can use [Chef Issue Template](#issuetemplate) in the description section
32
- of the pull request.
33
-
34
- ### <a name="cr"></a> Chef Code Review Process
35
-
36
- The Chef Code Review process happens on Github pull requests. See
37
- [this article](https://help.github.com/articles/using-pull-requests) if you're not
38
- familiar with Github Pull Requests.
39
-
40
- Once you a pull request, the **Chef Engineering Team** or **Chef Core Committers** will review your code
41
- and respond to you with any feedback they might have. The process at this point is as follows:
42
-
43
- 1. 2 thumbs-ups are required from the **Chef Engineering Team** or **Chef Core Committers** for all merges.
44
- 2. When ready, your pull request will be tagged with label `Ready For Merge`.
45
- 3. Your patch will be merged into `master` including necessary documentation updates
46
- and you will be included in `CHANGELOG.md`. Our goal is to have patches merged in 2 weeks
47
- after they are marked to be merged.
48
-
49
- If you would like to learn about when your code will be available in a release of Chef, read more about
50
- [Chef Release Process](#release).
51
-
52
- ### Contributor License Agreement (CLA)
53
- Licensing is very important to open source projects. It helps ensure the
54
- software continues to be available under the terms that the author desired.
55
-
56
- Chef uses [the Apache 2.0 license](https://github.com/chef/chef/blob/master/LICENSE)
57
- to strike a balance between open contribution and allowing you to use the
58
- software however you would like to.
59
-
60
- The license tells you what rights you have that are provided by the copyright holder.
61
- It is important that the contributor fully understands what rights they are
62
- licensing and agrees to them. Sometimes the copyright holder isn't the contributor,
63
- such as when the contributor is doing work for a company.
64
-
65
- To make a good faith effort to ensure these criteria are met, Chef requires an Individual CLA
66
- or a Corporate CLA for contributions. This agreement helps ensure you are aware of the
67
- terms of the license you are contributing your copyrighted works under, which helps to
68
- prevent the inclusion of works in the projects that the contributor does not hold the rights
69
- to share.
70
-
71
- It only takes a few minutes to complete a CLA, and you retain the copyright to your contribution.
72
-
73
- You can complete our
74
- [Individual CLA](https://supermarket.chef.io/icla-signatures/new) online.
75
- If you're contributing on behalf of your employer and they retain the copyright for your works,
76
- have your employer fill out our
77
- [Corporate CLA](https://supermarket.chef.io/ccla-signatures/new) instead.
78
-
79
- ### Chef Obvious Fix Policy
80
-
81
- Small contributions such as fixing spelling errors, where the content is small enough
82
- to not be considered intellectual property, can be submitted by a contributor as a patch,
83
- without a CLA.
84
-
85
- As a rule of thumb, changes are obvious fixes if they do not introduce any new functionality
86
- or creative thinking. As long as the change does not affect functionality, some likely
87
- examples include the following:
88
-
89
- * Spelling / grammar fixes
90
- * Typo correction, white space and formatting changes
91
- * Comment clean up
92
- * Bug fixes that change default return values or error codes stored in constants
93
- * Adding logging messages or debugging output
94
- * Changes to ‘metadata’ files like Gemfile, .gitignore, build scripts, etc.
95
- * Moving source files from one directory or package to another
96
-
97
- **Whenever you invoke the “obvious fix” rule, please say so in your commit message:**
98
-
99
- ```
100
- ------------------------------------------------------------------------
101
- commit 370adb3f82d55d912b0cf9c1d1e99b132a8ed3b5
102
- Author: danielsdeleo <dan@chef.io>
103
- Date: Wed Sep 18 11:44:40 2013 -0700
104
-
105
- Fix typo in config file docs.
106
-
107
- Obvious fix.
108
-
109
- ------------------------------------------------------------------------
110
- ```
111
-
112
- ## <a name="issues"></a> Chef Issue Tracking
113
-
114
- Chef Issue Tracking is handled using Github Issues.
115
-
116
- If you are familiar with Chef and know the component that is causing you a problem or if you
117
- have a feature request on a specific component you can file an issue in the corresponding
118
- Github project. All of our Open Source Software can be found in our
119
- [Github organization](https://github.com/chef/).
120
-
121
- Otherwise you can file your issue in the [Chef project](https://github.com/chef/chef/issues)
122
- and we will make sure it gets filed against the appropriate project.
123
-
124
- In order to decrease the back and forth in issues, and to help us get to the bottom of them quickly
125
- we use the below issue template. You can copy/paste this template into the issue you are opening and
126
- edit it accordingly.
127
-
128
- <a name="issuetemplate"></a>
129
- ```
130
- ### Version:
131
- [Version of the project installed]
132
-
133
- ### Environment: [Details about the environment such as the Operating System, cookbook details, etc...]
134
-
135
- ### Scenario:
136
- [What you are trying to achieve and you can't?]
137
-
138
- ### Steps to Reproduce:
139
- [If you are filing an issue what are the things we need to do in order to repro your problem?]
140
-
141
- ### Expected Result:
142
- [What are you expecting to happen as the consequence of above reproduction steps?]
143
-
144
- ### Actual Result:
145
- [What actually happens after the reproduction steps?]
146
- ```
147
-
148
- ## <a name="release"></a> Chef Release Cycles
149
-
150
- Our primary shipping vehicle is operating system specific packages that includes
151
- all the requirements of Chef. We call these [Omnibus packages](https://github.com/chef/omnibus)
152
-
153
- We also release our software as gems to [Rubygems](https://rubygems.org/) but we strongly
154
- recommend using Chef packages since they are the only combination of native libraries &
155
- gems required by Chef that we test throughly.
156
-
157
- Our version numbering closely follows [Semantic Versioning](http://semver.org/) standard. Our
158
- standard version numbers look like X.Y.Z which mean:
159
-
160
- * X is a major release, which may not be fully compatible with prior major releases
161
- * Y is a minor release, which adds both new features and bug fixes
162
- * Z is a patch release, which adds just bug fixes
163
-
164
- We frequently make `alpha` and `beta` releases with version numbers that look like
165
- `X.Y.Z.alpha.0` or `X.Y.Z.beta.1`. These releases are still well tested but not as
166
- throughly as **Minor** or **Patch** releases.
167
-
168
- We do a `Minor` release approximately every 3 months and `Patch` releases on a when-needed
169
- basis for regressions, significant bugs, and security issues.
170
-
171
- Announcements of releases are available on [Chef Blog](https://www.chef.io/blog/) when they are
172
- available.
173
-
174
- ## Chef Community
175
-
176
- Chef is made possible by a strong community of developers and system administrators. If you have
177
- any questions or if you would like to get involved in the Chef community you can check out:
178
-
179
- * [chef](http://lists.opscode.com/sympa/info/chef) and [chef-dev](http://lists.opscode.com/sympa/info/chef-dev) mailing lists
180
- * [\#chef](https://botbot.me/freenode/chef) and [\#chef-hacking](https://botbot.me/freenode/chef-hacking) IRC channels on irc.freenode.net
181
-
182
- Also here are some additional pointers to some awesome Chef content:
183
-
184
- * [Chef Docs](https://docs.chef.io/)
185
- * [Learn Chef](https://learn.chef.io/)
186
- * [Chef Inc](https://www.chef.io/)
1
+ # Contributing to Chef
2
+
3
+ We are glad you want to contribute to Chef!
4
+
5
+ We utilize **Github Issues** for issue tracking and contributions. You can contribute in two ways:
6
+
7
+ 1. Reporting an issue or making a feature request [here](#issues).
8
+ 2. Adding features or fixing bugs yourself and contributing your code to Chef.
9
+
10
+ ## Contribution Process
11
+
12
+ We have a 3 step process that utilizes **Github Issues**:
13
+
14
+ 1. Sign or be added to an existing [Contributor License Agreement (CLA)](https://supermarket.chef.io/become-a-contributor).
15
+ 2. Create a Github Pull Request.
16
+ 3. Do [Code Review](#cr) with the **Chef Engineering Team** or **Chef Core Committers** on the pull request.
17
+
18
+ ### <a name="pulls"></a> Chef Pull Requests
19
+
20
+ Chef is built to last. We strive to ensure high quality throughout the Chef experience. In order to ensure
21
+ this, we require a couple of things for all pull requests to Chef:
22
+
23
+ 1. **Tests:** To ensure high quality code and protect against future regressions, we require all the
24
+ code in Chef to have at least unit test coverage. Run ```bundle exec rspec``` from the project root
25
+ to execute the tests.
26
+ 2. **Green Travis Run:** We use [Travis CI](https://travis-ci.org/) in order to run our tests
27
+ continuously on all the pull requests. We require the Travis runs to succeed on every pull
28
+ request before being merged.
29
+
30
+ In addition to this it would be nice to include the description of the problem you are solving
31
+ with your change. You can use [Chef Issue Template](#issuetemplate) in the description section
32
+ of the pull request.
33
+
34
+ ### <a name="cr"></a> Chef Code Review Process
35
+
36
+ The Chef Code Review process happens on Github pull requests. See
37
+ [this article](https://help.github.com/articles/using-pull-requests) if you're not
38
+ familiar with Github Pull Requests.
39
+
40
+ Once you a pull request, the **Chef Engineering Team** or **Chef Core Committers** will review your code
41
+ and respond to you with any feedback they might have. The process at this point is as follows:
42
+
43
+ 1. 2 thumbs-ups are required from the **Chef Engineering Team** or **Chef Core Committers** for all merges.
44
+ 2. When ready, your pull request will be tagged with label `Ready For Merge`.
45
+ 3. Your patch will be merged into `master` including necessary documentation updates
46
+ and you will be included in `CHANGELOG.md`. Our goal is to have patches merged in 2 weeks
47
+ after they are marked to be merged.
48
+
49
+ If you would like to learn about when your code will be available in a release of Chef, read more about
50
+ [Chef Release Process](#release).
51
+
52
+ ### Contributor License Agreement (CLA)
53
+ Licensing is very important to open source projects. It helps ensure the
54
+ software continues to be available under the terms that the author desired.
55
+
56
+ Chef uses [the Apache 2.0 license](https://github.com/chef/chef/blob/master/LICENSE)
57
+ to strike a balance between open contribution and allowing you to use the
58
+ software however you would like to.
59
+
60
+ The license tells you what rights you have that are provided by the copyright holder.
61
+ It is important that the contributor fully understands what rights they are
62
+ licensing and agrees to them. Sometimes the copyright holder isn't the contributor,
63
+ such as when the contributor is doing work for a company.
64
+
65
+ To make a good faith effort to ensure these criteria are met, Chef requires an Individual CLA
66
+ or a Corporate CLA for contributions. This agreement helps ensure you are aware of the
67
+ terms of the license you are contributing your copyrighted works under, which helps to
68
+ prevent the inclusion of works in the projects that the contributor does not hold the rights
69
+ to share.
70
+
71
+ It only takes a few minutes to complete a CLA, and you retain the copyright to your contribution.
72
+
73
+ You can complete our
74
+ [Individual CLA](https://supermarket.chef.io/icla-signatures/new) online.
75
+ If you're contributing on behalf of your employer and they retain the copyright for your works,
76
+ have your employer fill out our
77
+ [Corporate CLA](https://supermarket.chef.io/ccla-signatures/new) instead.
78
+
79
+ ### Chef Obvious Fix Policy
80
+
81
+ Small contributions such as fixing spelling errors, where the content is small enough
82
+ to not be considered intellectual property, can be submitted by a contributor as a patch,
83
+ without a CLA.
84
+
85
+ As a rule of thumb, changes are obvious fixes if they do not introduce any new functionality
86
+ or creative thinking. As long as the change does not affect functionality, some likely
87
+ examples include the following:
88
+
89
+ * Spelling / grammar fixes
90
+ * Typo correction, white space and formatting changes
91
+ * Comment clean up
92
+ * Bug fixes that change default return values or error codes stored in constants
93
+ * Adding logging messages or debugging output
94
+ * Changes to ‘metadata’ files like Gemfile, .gitignore, build scripts, etc.
95
+ * Moving source files from one directory or package to another
96
+
97
+ **Whenever you invoke the “obvious fix” rule, please say so in your commit message:**
98
+
99
+ ```
100
+ ------------------------------------------------------------------------
101
+ commit 370adb3f82d55d912b0cf9c1d1e99b132a8ed3b5
102
+ Author: danielsdeleo <dan@chef.io>
103
+ Date: Wed Sep 18 11:44:40 2013 -0700
104
+
105
+ Fix typo in config file docs.
106
+
107
+ Obvious fix.
108
+
109
+ ------------------------------------------------------------------------
110
+ ```
111
+
112
+ ## <a name="issues"></a> Chef Issue Tracking
113
+
114
+ Chef Issue Tracking is handled using Github Issues.
115
+
116
+ If you are familiar with Chef and know the component that is causing you a problem or if you
117
+ have a feature request on a specific component you can file an issue in the corresponding
118
+ Github project. All of our Open Source Software can be found in our
119
+ [Github organization](https://github.com/chef/).
120
+
121
+ Otherwise you can file your issue in the [Chef project](https://github.com/chef/chef/issues)
122
+ and we will make sure it gets filed against the appropriate project.
123
+
124
+ In order to decrease the back and forth in issues, and to help us get to the bottom of them quickly
125
+ we use the below issue template. You can copy/paste this template into the issue you are opening and
126
+ edit it accordingly.
127
+
128
+ <a name="issuetemplate"></a>
129
+ ```
130
+ ### Version:
131
+ [Version of the project installed]
132
+
133
+ ### Environment: [Details about the environment such as the Operating System, cookbook details, etc...]
134
+
135
+ ### Scenario:
136
+ [What you are trying to achieve and you can't?]
137
+
138
+ ### Steps to Reproduce:
139
+ [If you are filing an issue what are the things we need to do in order to repro your problem?]
140
+
141
+ ### Expected Result:
142
+ [What are you expecting to happen as the consequence of above reproduction steps?]
143
+
144
+ ### Actual Result:
145
+ [What actually happens after the reproduction steps?]
146
+ ```
147
+
148
+ ## <a name="release"></a> Chef Release Cycles
149
+
150
+ Our primary shipping vehicle is operating system specific packages that includes
151
+ all the requirements of Chef. We call these [Omnibus packages](https://github.com/chef/omnibus)
152
+
153
+ We also release our software as gems to [Rubygems](https://rubygems.org/) but we strongly
154
+ recommend using Chef packages since they are the only combination of native libraries &
155
+ gems required by Chef that we test throughly.
156
+
157
+ Our version numbering closely follows [Semantic Versioning](http://semver.org/) standard. Our
158
+ standard version numbers look like X.Y.Z which mean:
159
+
160
+ * X is a major release, which may not be fully compatible with prior major releases
161
+ * Y is a minor release, which adds both new features and bug fixes
162
+ * Z is a patch release, which adds just bug fixes
163
+
164
+ We frequently make `alpha` and `beta` releases with version numbers that look like
165
+ `X.Y.Z.alpha.0` or `X.Y.Z.beta.1`. These releases are still well tested but not as
166
+ throughly as **Minor** or **Patch** releases.
167
+
168
+ We do a `Minor` release approximately every 3 months and `Patch` releases on a when-needed
169
+ basis for regressions, significant bugs, and security issues.
170
+
171
+ Announcements of releases are available on [Chef Blog](https://www.chef.io/blog/) when they are
172
+ available.
173
+
174
+ ## Chef Community
175
+
176
+ Chef is made possible by a strong community of developers and system administrators. If you have
177
+ any questions or if you would like to get involved in the Chef community you can check out:
178
+
179
+ * [chef](https://discourse.chef.io/) and [chef-dev](https://discourse.chef.io/c/dev) mailing lists and mailing list [FAQ](https://discourse.chef.io/t/welcome-to-the-chef-mailing-list/7070)
180
+ * [\#chef](https://botbot.me/freenode/chef) and [\#chef-hacking](https://botbot.me/freenode/chef-hacking) IRC channels on irc.freenode.net
181
+
182
+ Also here are some additional pointers to some awesome Chef content:
183
+
184
+ * [Chef Docs](https://docs.chef.io/)
185
+ * [Learn Chef](https://learn.chef.io/)
186
+ * [Chef Inc](https://www.chef.io/)
data/Gemfile CHANGED
@@ -17,15 +17,12 @@
17
17
 
18
18
  source 'https://rubygems.org'
19
19
 
20
- # path is needed because when we attempt to load this gemspec to look at it from
21
- # another bundle, it will expand the path relative to the other bundle rather than
22
- # this file.
23
- gemspec path: File.dirname(__FILE__), name: "chef-dk"
20
+ gemspec name: "chef-dk"
24
21
 
25
22
  # EXPERIMENTAL: ALL gems specified here will be installed in chef-dk omnibus.
26
23
  # This represents all gems that will be part of chef-dk.
27
24
 
28
- group(:omnibus_package, :development) do
25
+ group(:omnibus_package, :development, :test) do
29
26
  gem "pry"
30
27
  end
31
28
 
@@ -44,7 +41,7 @@ group(:omnibus_package) do
44
41
  gem "chef-provisioning-vagrant", ">= 0.11.0"
45
42
  gem "chef-vault"
46
43
  # The chef version is pinned by "rake dependencies", which grabs the current version from omnibus.
47
- gem "chef", github: "chef/chef", branch: "v12.9.41"
44
+ gem "chef", github: "chef/chef", branch: "v12.10.24"
48
45
  gem "cheffish", ">= 2.0.3"
49
46
  gem "chefspec"
50
47
  gem "fauxhai"
@@ -56,6 +53,19 @@ group(:omnibus_package) do
56
53
  gem "knife-windows"
57
54
  gem "ohai", ">= 8.13.0"
58
55
  gem "test-kitchen"
56
+ # Until listen supports Ruby 2.0 and 2.1
57
+ gem "listen", "< 3.1.0"
58
+ gem "mixlib-install"
59
+
60
+ # For Delivery build node
61
+ gem "chef-sugar"
62
+ gem "knife-supermarket"
63
+ gem "mixlib-versioning"
64
+ gem "artifactory"
65
+ # The opscode-pushy-client version is pinned by "rake dependencies", which grabs the current version from omnibus.
66
+ gem "opscode-pushy-client", github: "chef/opscode-pushy-client", branch: "1.3.4"
67
+ gem "ffi-rzmq-core"
68
+ gem "knife-push"
59
69
 
60
70
  # All of the following used to be software definitions we included:
61
71
  gem "knife-spork"
@@ -65,8 +75,10 @@ group(:omnibus_package) do
65
75
  gem "pry-remote"
66
76
  gem "pry-stack_explorer"
67
77
  gem "rb-readline"
68
- gem "rubocop", "~> 0.37.2"
78
+ gem "rubocop"
79
+ gem "cookstyle"
69
80
  gem "winrm-fs"
81
+ gem "winrm-elevated"
70
82
 
71
83
  # bundled or development dependencies we want to ship
72
84
  gem "dep_selector"
@@ -77,11 +89,22 @@ group(:omnibus_package) do
77
89
  gem "yard"
78
90
  end
79
91
 
80
- # NOTE this needs to be excluded from AIX too, but we don't support that on
81
- # ChefDK and putting a thing in multiple groups :no_windows, :no_aix won't work
82
- # because it --without no_aix will still install things in group :no_windows.
83
- # Need to specify groups positively; investigate.
84
- # http://stackoverflow.com/questions/8420414/how-to-add-mac-specific-gems-to-bundle-on-mac-but-not-on-linux
85
- group(:no_windows) do
86
- gem "ruby-shadow"
92
+ # Everything except AIX and Windows
93
+ group(:linux, :bsd, :mac_os_x, :solaris) do
94
+ gem "ruby-shadow", platform: :ruby
95
+ end
96
+
97
+ # TODO delete this when we figure out how to include the pushy windows dependencies
98
+ # correctly
99
+ platforms :mswin, :mingw do
100
+ gem "ffi"
101
+ gem "rdp-ruby-wmi"
102
+ gem "windows-api"
103
+ gem "windows-pr"
104
+ gem "win32-api"
105
+ gem "win32-dir"
106
+ gem "win32-event"
107
+ gem "win32-mutex"
108
+ gem "win32-process", "~> 0.8.2"
109
+ gem "win32-service"
87
110
  end