chef 12.22.1-universal-mingw32 → 12.22.3-universal-mingw32
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.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +151 -151
- data/Gemfile +95 -95
- data/LICENSE +201 -201
- data/README.md +309 -309
- data/Rakefile +104 -104
- data/VERSION +1 -1
- data/acceptance/.gitignore +3 -3
- data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +33 -33
- data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +283 -283
- data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +59 -59
- data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +68 -68
- data/acceptance/.shared/kitchen_acceptance/metadata.rb +1 -1
- data/acceptance/Gemfile +16 -16
- data/acceptance/Gemfile.lock +258 -258
- data/acceptance/README.md +137 -137
- data/acceptance/basics/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/basics/.acceptance/acceptance-cookbook/metadata.rb +3 -3
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
- data/acceptance/basics/.kitchen.yml +4 -4
- data/acceptance/basics/test/integration/chef-current-install/serverspec/chef_client_spec.rb +19 -19
- data/acceptance/basics/test/integration/chef-current-install/serverspec/spec_helper.rb +6 -6
- data/acceptance/basics/test/integration/helpers/serverspec/Gemfile +8 -8
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/metadata.rb +3 -3
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/destroy.rb +2 -2
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/provision.rb +2 -2
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/verify.rb +2 -2
- data/acceptance/data-collector/.acceptance/data-collector-test/.gitignore +16 -16
- data/acceptance/data-collector/.acceptance/data-collector-test/Berksfile +3 -3
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/api.rb +85 -85
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/apigemfile +3 -3
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-both-mode.rb +4 -4
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-client-mode.rb +4 -4
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-no-endpoint.rb +2 -2
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-solo-mode.rb +4 -4
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/config.ru +2 -2
- data/acceptance/data-collector/.acceptance/data-collector-test/metadata.rb +7 -7
- data/acceptance/data-collector/.acceptance/data-collector-test/recipes/default.rb +38 -38
- data/acceptance/data-collector/.kitchen.yml +9 -9
- data/acceptance/data-collector/Berksfile +3 -3
- data/acceptance/data-collector/test/integration/default/serverspec/default_spec.rb +204 -204
- data/acceptance/data-collector/test/integration/helpers/serverspec/Gemfile +8 -8
- data/acceptance/fips/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/fips/.acceptance/acceptance-cookbook/metadata.rb +2 -2
- data/acceptance/fips/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
- data/acceptance/fips/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
- data/acceptance/fips/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
- data/acceptance/fips/.kitchen.yml +8 -8
- data/acceptance/fips/test/integration/fips-integration/serverspec/Gemfile +9 -9
- data/acceptance/fips/test/integration/fips-integration/serverspec/fips-integration_spec.rb +52 -52
- data/acceptance/fips/test/integration/fips-unit-functional/serverspec/Gemfile +7 -7
- data/acceptance/fips/test/integration/fips-unit-functional/serverspec/fips-unit-functional_spec.rb +56 -56
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/metadata.rb +1 -1
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/verify.rb +61 -61
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/cookbook_kitchen.rb +43 -43
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb +39 -39
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/metadata.rb +3 -3
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
- data/acceptance/top-cookbooks/.gitignore +1 -1
- data/acceptance/top-cookbooks/.kitchen.chocolatey.yml +6 -6
- data/acceptance/top-cookbooks/.kitchen.iis.yml +4 -4
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-rhel.yml +7 -7
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-ubuntu.yml +7 -7
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-windows.yml +7 -7
- data/acceptance/top-cookbooks/.kitchen.powershell.yml +4 -4
- data/acceptance/top-cookbooks/.kitchen.sql_server.yml +5 -5
- data/acceptance/top-cookbooks/.kitchen.winbox.yml +8 -8
- data/acceptance/top-cookbooks/.kitchen.windows.yml +38 -38
- data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +2 -2
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
- data/acceptance/trivial/.kitchen.yml +7 -7
- data/acceptance/trivial/test/integration/chef-current-install/inspec/chef_client_spec.rb +5 -5
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb +2 -2
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
- data/acceptance/windows-service/.kitchen.yml +7 -7
- data/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb +58 -58
- data/bin/chef-apply +25 -25
- data/bin/chef-client +26 -26
- data/bin/chef-service-manager +38 -38
- data/bin/chef-shell +34 -34
- data/bin/chef-solo +25 -25
- data/bin/chef-windows-service +35 -35
- data/bin/knife +25 -25
- data/chef-universal-mingw32.gemspec +23 -23
- data/chef.gemspec +61 -61
- data/distro/common/html/_sources/ctl_chef_client.txt +35 -35
- data/distro/common/html/_sources/ctl_chef_server.txt +341 -341
- data/distro/common/html/_sources/ctl_chef_shell.txt +15 -15
- data/distro/common/html/_sources/ctl_chef_solo.txt +25 -25
- data/distro/common/html/_sources/index.txt +135 -135
- data/distro/common/html/_sources/knife.txt +74 -74
- data/distro/common/html/_sources/knife_bootstrap.txt +56 -56
- data/distro/common/html/_sources/knife_client.txt +150 -150
- data/distro/common/html/_sources/knife_common_options.txt +6 -6
- data/distro/common/html/_sources/knife_configure.txt +29 -29
- data/distro/common/html/_sources/knife_cookbook.txt +236 -236
- data/distro/common/html/_sources/knife_cookbook_site.txt +157 -157
- data/distro/common/html/_sources/knife_data_bag.txt +159 -159
- data/distro/common/html/_sources/knife_delete.txt +26 -26
- data/distro/common/html/_sources/knife_deps.txt +61 -61
- data/distro/common/html/_sources/knife_diff.txt +34 -34
- data/distro/common/html/_sources/knife_download.txt +44 -44
- data/distro/common/html/_sources/knife_edit.txt +26 -26
- data/distro/common/html/_sources/knife_environment.txt +158 -158
- data/distro/common/html/_sources/knife_exec.txt +47 -47
- data/distro/common/html/_sources/knife_index_rebuild.txt +20 -20
- data/distro/common/html/_sources/knife_list.txt +33 -33
- data/distro/common/html/_sources/knife_node.txt +250 -250
- data/distro/common/html/_sources/knife_raw.txt +35 -35
- data/distro/common/html/_sources/knife_recipe_list.txt +23 -23
- data/distro/common/html/_sources/knife_role.txt +157 -157
- data/distro/common/html/_sources/knife_search.txt +53 -53
- data/distro/common/html/_sources/knife_serve.txt +18 -18
- data/distro/common/html/_sources/knife_show.txt +26 -26
- data/distro/common/html/_sources/knife_ssh.txt +43 -43
- data/distro/common/html/_sources/knife_ssl_check.txt +41 -41
- data/distro/common/html/_sources/knife_ssl_fetch.txt +41 -41
- data/distro/common/html/_sources/knife_status.txt +37 -37
- data/distro/common/html/_sources/knife_tag.txt +69 -69
- data/distro/common/html/_sources/knife_upload.txt +49 -49
- data/distro/common/html/_sources/knife_user.txt +127 -127
- data/distro/common/html/_sources/knife_using.txt +43 -43
- data/distro/common/html/_sources/knife_xargs.txt +30 -30
- data/distro/common/html/_static/basic.css +536 -536
- data/distro/common/html/_static/doctools.js +238 -238
- data/distro/common/html/_static/guide.css +504 -504
- data/distro/common/html/_static/pygments.css +61 -61
- data/distro/common/html/_static/searchtools.js +621 -621
- data/distro/common/html/_static/underscore.js +31 -31
- data/distro/common/html/_static/websupport.js +808 -808
- data/distro/common/html/ctl_chef_client.html +269 -269
- data/distro/common/html/ctl_chef_server.html +727 -727
- data/distro/common/html/ctl_chef_shell.html +162 -162
- data/distro/common/html/ctl_chef_solo.html +193 -193
- data/distro/common/html/index.html +201 -201
- data/distro/common/html/knife.html +169 -169
- data/distro/common/html/knife_bootstrap.html +284 -284
- data/distro/common/html/knife_client.html +284 -284
- data/distro/common/html/knife_common_options.html +95 -95
- data/distro/common/html/knife_configure.html +104 -104
- data/distro/common/html/knife_cookbook.html +486 -486
- data/distro/common/html/knife_cookbook_site.html +375 -375
- data/distro/common/html/knife_data_bag.html +373 -373
- data/distro/common/html/knife_delete.html +92 -92
- data/distro/common/html/knife_deps.html +142 -142
- data/distro/common/html/knife_diff.html +122 -122
- data/distro/common/html/knife_download.html +144 -144
- data/distro/common/html/knife_edit.html +88 -88
- data/distro/common/html/knife_environment.html +322 -322
- data/distro/common/html/knife_exec.html +219 -219
- data/distro/common/html/knife_index_rebuild.html +82 -82
- data/distro/common/html/knife_list.html +113 -113
- data/distro/common/html/knife_node.html +457 -457
- data/distro/common/html/knife_raw.html +109 -109
- data/distro/common/html/knife_recipe_list.html +90 -90
- data/distro/common/html/knife_role.html +294 -294
- data/distro/common/html/knife_search.html +202 -202
- data/distro/common/html/knife_serve.html +78 -78
- data/distro/common/html/knife_show.html +103 -103
- data/distro/common/html/knife_ssh.html +176 -176
- data/distro/common/html/knife_ssl_check.html +150 -150
- data/distro/common/html/knife_ssl_fetch.html +150 -150
- data/distro/common/html/knife_status.html +143 -143
- data/distro/common/html/knife_tag.html +137 -137
- data/distro/common/html/knife_upload.html +152 -152
- data/distro/common/html/knife_user.html +241 -241
- data/distro/common/html/knife_using.html +209 -209
- data/distro/common/html/knife_xargs.html +121 -121
- data/distro/common/html/search.html +81 -81
- data/distro/common/man/man1/README.md +58 -58
- data/distro/common/man/man1/chef-shell.1 +194 -194
- data/distro/common/man/man1/knife-bootstrap.1 +215 -215
- data/distro/common/man/man1/knife-client.1 +443 -443
- data/distro/common/man/man1/knife-configure.1 +161 -161
- data/distro/common/man/man1/knife-cookbook-site.1 +552 -552
- data/distro/common/man/man1/knife-cookbook.1 +770 -770
- data/distro/common/man/man1/knife-data-bag.1 +617 -617
- data/distro/common/man/man1/knife-delete.1 +127 -127
- data/distro/common/man/man1/knife-deps.1 +246 -246
- data/distro/common/man/man1/knife-diff.1 +226 -226
- data/distro/common/man/man1/knife-download.1 +258 -258
- data/distro/common/man/man1/knife-edit.1 +121 -121
- data/distro/common/man/man1/knife-environment.1 +496 -496
- data/distro/common/man/man1/knife-exec.1 +362 -362
- data/distro/common/man/man1/knife-index-rebuild.1 +63 -63
- data/distro/common/man/man1/knife-list.1 +174 -174
- data/distro/common/man/man1/knife-node.1 +716 -716
- data/distro/common/man/man1/knife-raw.1 +172 -172
- data/distro/common/man/man1/knife-recipe-list.1 +85 -85
- data/distro/common/man/man1/knife-role.1 +426 -426
- data/distro/common/man/man1/knife-search.1 +359 -359
- data/distro/common/man/man1/knife-serve.1 +109 -109
- data/distro/common/man/man1/knife-show.1 +160 -160
- data/distro/common/man/man1/knife-ssh.1 +284 -284
- data/distro/common/man/man1/knife-ssl-check.1 +207 -207
- data/distro/common/man/man1/knife-ssl-fetch.1 +207 -207
- data/distro/common/man/man1/knife-status.1 +234 -234
- data/distro/common/man/man1/knife-tag.1 +189 -189
- data/distro/common/man/man1/knife-upload.1 +280 -280
- data/distro/common/man/man1/knife-user.1 +356 -356
- data/distro/common/man/man1/knife-xargs.1 +189 -189
- data/distro/common/man/man1/knife.1 +332 -332
- data/distro/common/man/man8/chef-apply.8 +86 -86
- data/distro/common/man/man8/chef-client.8 +398 -398
- data/distro/common/man/man8/chef-solo.8 +260 -260
- data/distro/common/markdown/README +3 -3
- data/distro/common/markdown/man1/chef-shell.mkd +195 -195
- data/distro/common/markdown/man1/knife-bootstrap.mkd +141 -141
- data/distro/common/markdown/man1/knife-client.mkd +103 -103
- data/distro/common/markdown/man1/knife-configure.mkd +71 -71
- data/distro/common/markdown/man1/knife-cookbook-site.mkd +123 -123
- data/distro/common/markdown/man1/knife-cookbook.mkd +263 -263
- data/distro/common/markdown/man1/knife-data-bag.mkd +121 -121
- data/distro/common/markdown/man1/knife-environment.mkd +151 -151
- data/distro/common/markdown/man1/knife-exec.mkd +42 -42
- data/distro/common/markdown/man1/knife-index.mkd +30 -30
- data/distro/common/markdown/man1/knife-node.mkd +130 -130
- data/distro/common/markdown/man1/knife-role.mkd +85 -85
- data/distro/common/markdown/man1/knife-search.mkd +180 -180
- data/distro/common/markdown/man1/knife-ssh.mkd +69 -69
- data/distro/common/markdown/man1/knife-status.mkd +36 -36
- data/distro/common/markdown/man1/knife-tag.mkd +39 -39
- data/distro/common/markdown/man1/knife.mkd +213 -213
- data/distro/common/markdown/man8/chef-client.mkd +75 -75
- data/distro/common/markdown/man8/chef-expander.mkd +81 -81
- data/distro/common/markdown/man8/chef-expanderctl.mkd +57 -57
- data/distro/common/markdown/man8/chef-server-webui.mkd +121 -121
- data/distro/common/markdown/man8/chef-server.mkd +120 -120
- data/distro/common/markdown/man8/chef-solo.mkd +107 -107
- data/distro/common/markdown/man8/chef-solr.mkd +89 -89
- data/distro/powershell/chef/chef.psm1 +442 -442
- data/ext/win32-eventlog/Rakefile +53 -53
- data/ext/win32-eventlog/chef-log.man +56 -56
- data/lib-backcompat/chef/chef_fs/file_system/acl_entry.rb +5 -5
- data/lib-backcompat/chef/chef_fs/file_system/already_exists_error.rb +20 -20
- data/lib-backcompat/chef/chef_fs/file_system/chef_repository_file_system_root_dir.rb +5 -5
- data/lib-backcompat/chef/chef_fs/file_system/chef_server_root_dir.rb +5 -5
- data/lib-backcompat/chef/chef_fs/file_system/cookbook_frozen_error.rb +20 -20
- data/lib-backcompat/chef/chef_fs/file_system/default_environment_cannot_be_modified_error.rb +20 -20
- data/lib-backcompat/chef/chef_fs/file_system/file_system_error.rb +20 -20
- data/lib-backcompat/chef/chef_fs/file_system/must_delete_recursively_error.rb +20 -20
- data/lib-backcompat/chef/chef_fs/file_system/not_found_error.rb +20 -20
- data/lib-backcompat/chef/chef_fs/file_system/operation_failed_error.rb +20 -20
- data/lib-backcompat/chef/chef_fs/file_system/operation_not_allowed_error.rb +20 -20
- data/lib-backcompat/chef/chef_fs/file_system/repository/chef_repository_file_system_acls_dir.rb +5 -5
- data/lib-backcompat/chef/chef_fs/file_system/repository/chef_repository_file_system_client_keys_dir.rb +5 -5
- data/lib-backcompat/chef/chef_fs/file_system/repository/chef_repository_file_system_entry.rb +6 -6
- data/lib-backcompat/chef/chef_fs/file_system/repository/chef_repository_file_system_policies_dir.rb +5 -5
- data/lib-backcompat/chef/chef_fs/file_system/repository/file_system_root_dir.rb +34 -34
- data/lib/chef.rb +35 -35
- data/lib/chef/api_client.rb +231 -231
- data/lib/chef/api_client/registration.rb +192 -192
- data/lib/chef/api_client_v1.rb +323 -323
- data/lib/chef/application.rb +378 -378
- data/lib/chef/application/apply.rb +219 -219
- data/lib/chef/application/client.rb +528 -528
- data/lib/chef/application/exit_code.rb +233 -233
- data/lib/chef/application/knife.rb +216 -216
- data/lib/chef/application/solo.rb +379 -379
- data/lib/chef/application/windows_service.rb +337 -337
- data/lib/chef/application/windows_service_manager.rb +204 -204
- data/lib/chef/applications.rb +4 -4
- data/lib/chef/audit/audit_event_proxy.rb +93 -93
- data/lib/chef/audit/audit_reporter.rb +176 -176
- data/lib/chef/audit/control_group_data.rb +139 -139
- data/lib/chef/audit/logger.rb +36 -36
- data/lib/chef/audit/rspec_formatter.rb +37 -37
- data/lib/chef/audit/runner.rb +196 -196
- data/lib/chef/chef_class.rb +240 -240
- data/lib/chef/chef_fs.rb +59 -59
- data/lib/chef/chef_fs/chef_fs_data_store.rb +870 -870
- data/lib/chef/chef_fs/command_line.rb +292 -292
- data/lib/chef/chef_fs/config.rb +284 -284
- data/lib/chef/chef_fs/data_handler/acl_data_handler.rb +26 -26
- data/lib/chef/chef_fs/data_handler/client_data_handler.rb +39 -39
- data/lib/chef/chef_fs/data_handler/client_key_data_handler.rb +11 -11
- data/lib/chef/chef_fs/data_handler/container_data_handler.rb +35 -35
- data/lib/chef/chef_fs/data_handler/cookbook_data_handler.rb +38 -38
- data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +62 -62
- data/lib/chef/chef_fs/data_handler/data_handler_base.rb +205 -205
- data/lib/chef/chef_fs/data_handler/environment_data_handler.rb +40 -40
- data/lib/chef/chef_fs/data_handler/group_data_handler.rb +55 -55
- data/lib/chef/chef_fs/data_handler/node_data_handler.rb +36 -36
- data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +36 -36
- data/lib/chef/chef_fs/data_handler/organization_invites_data_handler.rb +17 -17
- data/lib/chef/chef_fs/data_handler/organization_members_data_handler.rb +17 -17
- data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +48 -48
- data/lib/chef/chef_fs/data_handler/policy_group_data_handler.rb +33 -33
- data/lib/chef/chef_fs/data_handler/role_data_handler.rb +40 -40
- data/lib/chef/chef_fs/data_handler/user_data_handler.rb +29 -29
- data/lib/chef/chef_fs/file_pattern.rb +301 -301
- data/lib/chef/chef_fs/file_system.rb +431 -431
- data/lib/chef/chef_fs/file_system/base_fs_dir.rb +47 -47
- data/lib/chef/chef_fs/file_system/base_fs_object.rb +187 -187
- data/lib/chef/chef_fs/file_system/chef_server/acl_dir.rb +65 -65
- data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +67 -67
- data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +75 -75
- data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +196 -196
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifact_dir.rb +38 -38
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifacts_dir.rb +102 -102
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +221 -221
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +78 -78
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_subdir.rb +61 -61
- data/lib/chef/chef_fs/file_system/chef_server/cookbooks_acl_dir.rb +42 -42
- data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +101 -101
- data/lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb +76 -76
- data/lib/chef/chef_fs/file_system/chef_server/data_bag_entry.rb +19 -19
- data/lib/chef/chef_fs/file_system/chef_server/data_bags_dir.rb +67 -67
- data/lib/chef/chef_fs/file_system/chef_server/environments_dir.rb +56 -56
- data/lib/chef/chef_fs/file_system/chef_server/nodes_dir.rb +51 -51
- data/lib/chef/chef_fs/file_system/chef_server/org_entry.rb +35 -35
- data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +65 -65
- data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +64 -64
- data/lib/chef/chef_fs/file_system/chef_server/policies_acl_dir.rb +41 -41
- data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +158 -158
- data/lib/chef/chef_fs/file_system/chef_server/policy_group_entry.rb +135 -135
- data/lib/chef/chef_fs/file_system/chef_server/policy_groups_dir.rb +43 -43
- data/lib/chef/chef_fs/file_system/chef_server/policy_revision_entry.rb +38 -38
- data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +176 -176
- data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +198 -198
- data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbook_dir.rb +45 -45
- data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +107 -107
- data/lib/chef/chef_fs/file_system/exceptions.rb +105 -105
- data/lib/chef/chef_fs/file_system/memory/memory_dir.rb +53 -53
- data/lib/chef/chef_fs/file_system/memory/memory_file.rb +20 -20
- data/lib/chef/chef_fs/file_system/memory/memory_root.rb +23 -23
- data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +62 -62
- data/lib/chef/chef_fs/file_system/nonexistent_fs_object.rb +32 -32
- data/lib/chef/chef_fs/file_system/repository/acl.rb +45 -45
- data/lib/chef/chef_fs/file_system/repository/acls_dir.rb +50 -50
- data/lib/chef/chef_fs/file_system/repository/acls_sub_dir.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/base_file.rb +155 -155
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_artifact_dir.rb +41 -41
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +144 -144
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +177 -177
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +231 -231
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_versioned_cookbook_dir.rb +42 -42
- data/lib/chef/chef_fs/file_system/repository/client.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/client_key.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/client_keys_dir.rb +42 -42
- data/lib/chef/chef_fs/file_system/repository/client_keys_sub_dir.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/clients_dir.rb +37 -37
- data/lib/chef/chef_fs/file_system/repository/container.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/containers_dir.rb +37 -37
- data/lib/chef/chef_fs/file_system/repository/cookbook_artifacts_dir.rb +36 -36
- data/lib/chef/chef_fs/file_system/repository/cookbooks_dir.rb +51 -51
- data/lib/chef/chef_fs/file_system/repository/data_bag.rb +39 -39
- data/lib/chef/chef_fs/file_system/repository/data_bag_item.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/data_bags_dir.rb +39 -39
- data/lib/chef/chef_fs/file_system/repository/directory.rb +167 -167
- data/lib/chef/chef_fs/file_system/repository/environment.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/environments_dir.rb +37 -37
- data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +151 -151
- data/lib/chef/chef_fs/file_system/repository/group.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/groups_dir.rb +37 -37
- data/lib/chef/chef_fs/file_system/repository/node.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/nodes_dir.rb +59 -59
- data/lib/chef/chef_fs/file_system/repository/policies_dir.rb +42 -42
- data/lib/chef/chef_fs/file_system/repository/policy.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/policy_group.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/policy_groups_dir.rb +37 -37
- data/lib/chef/chef_fs/file_system/repository/role.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/roles_dir.rb +37 -37
- data/lib/chef/chef_fs/file_system/repository/user.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/users_dir.rb +37 -37
- data/lib/chef/chef_fs/file_system/repository/versioned_cookbooks_dir.rb +34 -34
- data/lib/chef/chef_fs/file_system_cache.rb +80 -80
- data/lib/chef/chef_fs/knife.rb +161 -161
- data/lib/chef/chef_fs/parallelizer.rb +103 -103
- data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +35 -35
- data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +277 -277
- data/lib/chef/chef_fs/path_utils.rb +127 -127
- data/lib/chef/client.rb +1023 -1023
- data/lib/chef/config.rb +85 -85
- data/lib/chef/config_fetcher.rb +72 -72
- data/lib/chef/constants.rb +28 -28
- data/lib/chef/cookbook/chefignore.rb +74 -74
- data/lib/chef/cookbook/cookbook_collection.rb +63 -63
- data/lib/chef/cookbook/cookbook_version_loader.rb +351 -351
- data/lib/chef/cookbook/file_system_file_vendor.rb +58 -58
- data/lib/chef/cookbook/file_vendor.rb +71 -71
- data/lib/chef/cookbook/gem_installer.rb +84 -84
- data/lib/chef/cookbook/metadata.rb +912 -912
- data/lib/chef/cookbook/remote_file_vendor.rb +87 -87
- data/lib/chef/cookbook/synchronizer.rb +298 -298
- data/lib/chef/cookbook/syntax_check.rb +260 -260
- data/lib/chef/cookbook_loader.rb +200 -200
- data/lib/chef/cookbook_manifest.rb +290 -290
- data/lib/chef/cookbook_site_streaming_uploader.rb +243 -243
- data/lib/chef/cookbook_uploader.rb +157 -157
- data/lib/chef/cookbook_version.rb +637 -637
- data/lib/chef/daemon.rb +131 -131
- data/lib/chef/data_bag.rb +176 -176
- data/lib/chef/data_bag_item.rb +218 -218
- data/lib/chef/data_collector.rb +489 -489
- data/lib/chef/data_collector/messages.rb +98 -98
- data/lib/chef/data_collector/messages/helpers.rb +161 -161
- data/lib/chef/data_collector/resource_report.rb +123 -123
- data/lib/chef/decorator.rb +81 -81
- data/lib/chef/decorator/lazy.rb +60 -60
- data/lib/chef/decorator/lazy_array.rb +59 -59
- data/lib/chef/decorator/unchain.rb +59 -59
- data/lib/chef/delayed_evaluator.rb +21 -21
- data/lib/chef/deprecated.rb +250 -250
- data/lib/chef/deprecation/mixin/template.rb +48 -48
- data/lib/chef/deprecation/provider/cookbook_file.rb +54 -54
- data/lib/chef/deprecation/provider/file.rb +198 -198
- data/lib/chef/deprecation/provider/remote_directory.rb +52 -52
- data/lib/chef/deprecation/provider/remote_file.rb +85 -85
- data/lib/chef/deprecation/provider/template.rb +63 -63
- data/lib/chef/deprecation/warnings.rb +36 -36
- data/lib/chef/digester.rb +74 -74
- data/lib/chef/dsl.rb +6 -6
- data/lib/chef/dsl/audit.rb +51 -51
- data/lib/chef/dsl/chef_provisioning.rb +57 -57
- data/lib/chef/dsl/cheffish.rb +65 -65
- data/lib/chef/dsl/core.rb +52 -52
- data/lib/chef/dsl/data_query.rb +89 -89
- data/lib/chef/dsl/declare_resource.rb +295 -295
- data/lib/chef/dsl/definitions.rb +43 -43
- data/lib/chef/dsl/include_attribute.rb +61 -61
- data/lib/chef/dsl/include_recipe.rb +44 -44
- data/lib/chef/dsl/method_missing.rb +75 -75
- data/lib/chef/dsl/platform_introspection.rb +268 -268
- data/lib/chef/dsl/powershell.rb +29 -29
- data/lib/chef/dsl/reboot_pending.rb +64 -64
- data/lib/chef/dsl/recipe.rb +95 -95
- data/lib/chef/dsl/registry_helper.rb +63 -63
- data/lib/chef/dsl/resources.rb +56 -56
- data/lib/chef/dsl/universal.rb +50 -50
- data/lib/chef/encrypted_data_bag_item.rb +155 -155
- data/lib/chef/encrypted_data_bag_item/assertions.rb +54 -54
- data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +56 -56
- data/lib/chef/encrypted_data_bag_item/decryption_failure.rb +22 -22
- data/lib/chef/encrypted_data_bag_item/decryptor.rb +227 -227
- data/lib/chef/encrypted_data_bag_item/encrypted_data_bag_item_assertions.rb +37 -37
- data/lib/chef/encrypted_data_bag_item/encryption_failure.rb +22 -22
- data/lib/chef/encrypted_data_bag_item/encryptor.rb +225 -225
- data/lib/chef/encrypted_data_bag_item/unacceptable_encrypted_data_bag_item_format.rb +22 -22
- data/lib/chef/encrypted_data_bag_item/unsupported_cipher.rb +22 -22
- data/lib/chef/encrypted_data_bag_item/unsupported_encrypted_data_bag_item_format.rb +22 -22
- data/lib/chef/environment.rb +324 -324
- data/lib/chef/event_dispatch/base.rb +429 -429
- data/lib/chef/event_dispatch/dispatcher.rb +62 -62
- data/lib/chef/event_dispatch/dsl.rb +65 -65
- data/lib/chef/event_dispatch/events_output_stream.rb +37 -37
- data/lib/chef/event_loggers/base.rb +62 -62
- data/lib/chef/event_loggers/windows_eventlog.rb +101 -101
- data/lib/chef/exceptions.rb +532 -532
- data/lib/chef/file_access_control.rb +75 -75
- data/lib/chef/file_access_control/unix.rb +290 -290
- data/lib/chef/file_access_control/windows.rb +335 -335
- data/lib/chef/file_cache.rb +221 -221
- data/lib/chef/file_content_management/content_base.rb +56 -56
- data/lib/chef/file_content_management/deploy.rb +37 -37
- data/lib/chef/file_content_management/deploy/cp.rb +48 -48
- data/lib/chef/file_content_management/deploy/mv_unix.rb +76 -76
- data/lib/chef/file_content_management/deploy/mv_windows.rb +103 -103
- data/lib/chef/file_content_management/tempfile.rb +107 -107
- data/lib/chef/formatters/base.rb +247 -247
- data/lib/chef/formatters/doc.rb +447 -447
- data/lib/chef/formatters/error_description.rb +86 -86
- data/lib/chef/formatters/error_inspectors.rb +19 -19
- data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +183 -183
- data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +154 -154
- data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +168 -168
- data/lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb +82 -82
- data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +128 -128
- data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +147 -147
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +124 -124
- data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +121 -121
- data/lib/chef/formatters/error_mapper.rb +85 -85
- data/lib/chef/formatters/indentable_output_stream.rb +170 -170
- data/lib/chef/formatters/minimal.rb +233 -233
- data/lib/chef/guard_interpreter.rb +32 -32
- data/lib/chef/guard_interpreter/default_guard_interpreter.rb +43 -43
- data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +138 -138
- data/lib/chef/handler.rb +268 -268
- data/lib/chef/handler/error_report.rb +33 -33
- data/lib/chef/handler/json_file.rb +63 -63
- data/lib/chef/http.rb +489 -489
- data/lib/chef/http/api_versions.rb +50 -50
- data/lib/chef/http/auth_credentials.rb +57 -57
- data/lib/chef/http/authenticator.rb +106 -106
- data/lib/chef/http/basic_client.rb +158 -158
- data/lib/chef/http/cookie_jar.rb +31 -31
- data/lib/chef/http/cookie_manager.rb +59 -59
- data/lib/chef/http/decompressor.rb +142 -142
- data/lib/chef/http/http_request.rb +186 -186
- data/lib/chef/http/json_input.rb +73 -73
- data/lib/chef/http/json_output.rb +78 -78
- data/lib/chef/http/json_to_model_output.rb +34 -34
- data/lib/chef/http/remote_request_id.rb +46 -46
- data/lib/chef/http/simple.rb +40 -40
- data/lib/chef/http/simple_json.rb +43 -43
- data/lib/chef/http/socketless_chef_zero_client.rb +208 -208
- data/lib/chef/http/ssl_policies.rb +130 -130
- data/lib/chef/http/validate_content_length.rb +114 -114
- data/lib/chef/json_compat.rb +160 -160
- data/lib/chef/key.rb +272 -272
- data/lib/chef/knife.rb +613 -613
- data/lib/chef/knife/bootstrap.rb +489 -489
- data/lib/chef/knife/bootstrap/chef_vault_handler.rb +159 -159
- data/lib/chef/knife/bootstrap/client_builder.rb +208 -208
- data/lib/chef/knife/bootstrap/templates/README.md +11 -11
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +236 -236
- data/lib/chef/knife/client_bulk_delete.rb +104 -104
- data/lib/chef/knife/client_create.rb +111 -111
- data/lib/chef/knife/client_delete.rb +63 -63
- data/lib/chef/knife/client_edit.rb +53 -53
- data/lib/chef/knife/client_key_create.rb +67 -67
- data/lib/chef/knife/client_key_delete.rb +76 -76
- data/lib/chef/knife/client_key_edit.rb +79 -79
- data/lib/chef/knife/client_key_list.rb +69 -69
- data/lib/chef/knife/client_key_show.rb +76 -76
- data/lib/chef/knife/client_list.rb +42 -42
- data/lib/chef/knife/client_reregister.rb +59 -59
- data/lib/chef/knife/client_show.rb +49 -49
- data/lib/chef/knife/configure.rb +171 -171
- data/lib/chef/knife/configure_client.rb +50 -50
- data/lib/chef/knife/cookbook_bulk_delete.rb +71 -71
- data/lib/chef/knife/cookbook_create.rb +462 -462
- data/lib/chef/knife/cookbook_delete.rb +151 -151
- data/lib/chef/knife/cookbook_download.rb +143 -143
- data/lib/chef/knife/cookbook_list.rb +47 -47
- data/lib/chef/knife/cookbook_metadata.rb +107 -107
- data/lib/chef/knife/cookbook_metadata_from_file.rb +44 -44
- data/lib/chef/knife/cookbook_show.rb +94 -94
- data/lib/chef/knife/cookbook_site_download.rb +116 -116
- data/lib/chef/knife/cookbook_site_install.rb +196 -196
- data/lib/chef/knife/cookbook_site_list.rb +65 -65
- data/lib/chef/knife/cookbook_site_search.rb +53 -53
- data/lib/chef/knife/cookbook_site_share.rb +170 -170
- data/lib/chef/knife/cookbook_site_show.rb +66 -66
- data/lib/chef/knife/cookbook_site_unshare.rb +63 -63
- data/lib/chef/knife/cookbook_site_vendor.rb +46 -46
- data/lib/chef/knife/cookbook_test.rb +95 -95
- data/lib/chef/knife/cookbook_upload.rb +308 -308
- data/lib/chef/knife/core/bootstrap_context.rb +267 -267
- data/lib/chef/knife/core/cookbook_scm_repo.rb +159 -159
- data/lib/chef/knife/core/custom_manifest_loader.rb +69 -69
- data/lib/chef/knife/core/gem_glob_loader.rb +138 -138
- data/lib/chef/knife/core/generic_presenter.rb +232 -232
- data/lib/chef/knife/core/hashed_command_loader.rb +99 -99
- data/lib/chef/knife/core/node_editor.rb +130 -130
- data/lib/chef/knife/core/node_presenter.rb +159 -159
- data/lib/chef/knife/core/object_loader.rb +115 -115
- data/lib/chef/knife/core/status_presenter.rb +157 -157
- data/lib/chef/knife/core/subcommand_loader.rb +212 -212
- data/lib/chef/knife/core/text_formatter.rb +85 -85
- data/lib/chef/knife/core/ui.rb +278 -278
- data/lib/chef/knife/data_bag_create.rb +80 -80
- data/lib/chef/knife/data_bag_delete.rb +49 -49
- data/lib/chef/knife/data_bag_edit.rb +74 -74
- data/lib/chef/knife/data_bag_from_file.rb +114 -114
- data/lib/chef/knife/data_bag_list.rb +42 -42
- data/lib/chef/knife/data_bag_secret_options.rb +142 -142
- data/lib/chef/knife/data_bag_show.rb +69 -69
- data/lib/chef/knife/delete.rb +107 -107
- data/lib/chef/knife/deps.rb +138 -138
- data/lib/chef/knife/diff.rb +68 -68
- data/lib/chef/knife/download.rb +68 -68
- data/lib/chef/knife/edit.rb +72 -72
- data/lib/chef/knife/environment_compare.rb +127 -127
- data/lib/chef/knife/environment_create.rb +53 -53
- data/lib/chef/knife/environment_delete.rb +45 -45
- data/lib/chef/knife/environment_edit.rb +45 -45
- data/lib/chef/knife/environment_from_file.rb +82 -82
- data/lib/chef/knife/environment_list.rb +42 -42
- data/lib/chef/knife/environment_show.rb +48 -48
- data/lib/chef/knife/exec.rb +87 -87
- data/lib/chef/knife/help.rb +101 -101
- data/lib/chef/knife/help_topics.rb +4 -4
- data/lib/chef/knife/index_rebuild.rb +133 -133
- data/lib/chef/knife/key_create.rb +112 -112
- data/lib/chef/knife/key_create_base.rb +50 -50
- data/lib/chef/knife/key_delete.rb +55 -55
- data/lib/chef/knife/key_edit.rb +118 -118
- data/lib/chef/knife/key_edit_base.rb +55 -55
- data/lib/chef/knife/key_list.rb +88 -88
- data/lib/chef/knife/key_list_base.rb +45 -45
- data/lib/chef/knife/key_show.rb +53 -53
- data/lib/chef/knife/list.rb +156 -156
- data/lib/chef/knife/node_bulk_delete.rb +74 -74
- data/lib/chef/knife/node_create.rb +47 -47
- data/lib/chef/knife/node_delete.rb +46 -46
- data/lib/chef/knife/node_edit.rb +70 -70
- data/lib/chef/knife/node_environment_set.rb +54 -54
- data/lib/chef/knife/node_from_file.rb +51 -51
- data/lib/chef/knife/node_list.rb +44 -44
- data/lib/chef/knife/node_run_list_add.rb +104 -104
- data/lib/chef/knife/node_run_list_remove.rb +67 -67
- data/lib/chef/knife/node_run_list_set.rb +66 -66
- data/lib/chef/knife/node_show.rb +61 -61
- data/lib/chef/knife/null.rb +10 -10
- data/lib/chef/knife/osc_user_create.rb +97 -97
- data/lib/chef/knife/osc_user_delete.rb +51 -51
- data/lib/chef/knife/osc_user_edit.rb +58 -58
- data/lib/chef/knife/osc_user_list.rb +47 -47
- data/lib/chef/knife/osc_user_reregister.rb +64 -64
- data/lib/chef/knife/osc_user_show.rb +53 -53
- data/lib/chef/knife/raw.rb +103 -103
- data/lib/chef/knife/recipe_list.rb +32 -32
- data/lib/chef/knife/rehash.rb +65 -65
- data/lib/chef/knife/role_bulk_delete.rb +65 -65
- data/lib/chef/knife/role_create.rb +53 -53
- data/lib/chef/knife/role_delete.rb +46 -46
- data/lib/chef/knife/role_edit.rb +45 -45
- data/lib/chef/knife/role_env_run_list_add.rb +86 -86
- data/lib/chef/knife/role_env_run_list_clear.rb +55 -55
- data/lib/chef/knife/role_env_run_list_remove.rb +57 -57
- data/lib/chef/knife/role_env_run_list_replace.rb +59 -59
- data/lib/chef/knife/role_env_run_list_set.rb +70 -70
- data/lib/chef/knife/role_from_file.rb +51 -51
- data/lib/chef/knife/role_list.rb +42 -42
- data/lib/chef/knife/role_run_list_add.rb +86 -86
- data/lib/chef/knife/role_run_list_clear.rb +55 -55
- data/lib/chef/knife/role_run_list_remove.rb +57 -57
- data/lib/chef/knife/role_run_list_replace.rb +59 -59
- data/lib/chef/knife/role_run_list_set.rb +70 -70
- data/lib/chef/knife/role_show.rb +49 -49
- data/lib/chef/knife/search.rb +201 -201
- data/lib/chef/knife/serve.rb +48 -48
- data/lib/chef/knife/show.rb +56 -56
- data/lib/chef/knife/ssh.rb +591 -591
- data/lib/chef/knife/ssl_check.rb +283 -283
- data/lib/chef/knife/ssl_fetch.rb +161 -161
- data/lib/chef/knife/status.rb +110 -110
- data/lib/chef/knife/supermarket_download.rb +33 -33
- data/lib/chef/knife/supermarket_install.rb +33 -33
- data/lib/chef/knife/supermarket_list.rb +33 -33
- data/lib/chef/knife/supermarket_search.rb +33 -33
- data/lib/chef/knife/supermarket_share.rb +33 -33
- data/lib/chef/knife/supermarket_show.rb +33 -33
- data/lib/chef/knife/supermarket_unshare.rb +33 -33
- data/lib/chef/knife/tag_create.rb +52 -52
- data/lib/chef/knife/tag_delete.rb +60 -60
- data/lib/chef/knife/tag_list.rb +47 -47
- data/lib/chef/knife/upload.rb +70 -70
- data/lib/chef/knife/user_create.rb +150 -150
- data/lib/chef/knife/user_delete.rb +95 -95
- data/lib/chef/knife/user_edit.rb +81 -81
- data/lib/chef/knife/user_key_create.rb +69 -69
- data/lib/chef/knife/user_key_delete.rb +76 -76
- data/lib/chef/knife/user_key_edit.rb +79 -79
- data/lib/chef/knife/user_key_list.rb +69 -69
- data/lib/chef/knife/user_key_show.rb +76 -76
- data/lib/chef/knife/user_list.rb +45 -45
- data/lib/chef/knife/user_reregister.rb +89 -89
- data/lib/chef/knife/user_show.rb +78 -78
- data/lib/chef/knife/xargs.rb +266 -266
- data/lib/chef/local_mode.rb +128 -128
- data/lib/chef/log.rb +68 -68
- data/lib/chef/log/syslog.rb +45 -45
- data/lib/chef/log/winevt.rb +99 -99
- data/lib/chef/mash.rb +232 -232
- data/lib/chef/mixin/api_version_request_handling.rb +66 -66
- data/lib/chef/mixin/checksum.rb +37 -37
- data/lib/chef/mixin/command.rb +194 -194
- data/lib/chef/mixin/command/unix.rb +220 -220
- data/lib/chef/mixin/command/windows.rb +71 -71
- data/lib/chef/mixin/convert_to_class_name.rb +126 -126
- data/lib/chef/mixin/create_path.rb +71 -71
- data/lib/chef/mixin/deep_merge.rb +140 -140
- data/lib/chef/mixin/deprecation.rb +117 -117
- data/lib/chef/mixin/descendants_tracker.rb +81 -81
- data/lib/chef/mixin/enforce_ownership_and_permissions.rb +39 -39
- data/lib/chef/mixin/file_class.rb +35 -35
- data/lib/chef/mixin/from_file.rb +50 -50
- data/lib/chef/mixin/get_source_from_package.rb +47 -47
- data/lib/chef/mixin/homebrew_user.rb +68 -68
- data/lib/chef/mixin/language.rb +48 -48
- data/lib/chef/mixin/language_include_attribute.rb +34 -34
- data/lib/chef/mixin/language_include_recipe.rb +31 -31
- data/lib/chef/mixin/lazy_module_include.rb +77 -77
- data/lib/chef/mixin/notifying_block.rb +51 -51
- data/lib/chef/mixin/params_validate.rb +489 -489
- data/lib/chef/mixin/path_sanity.rb +68 -68
- data/lib/chef/mixin/powershell_out.rb +98 -98
- data/lib/chef/mixin/powershell_type_coercions.rb +84 -84
- data/lib/chef/mixin/properties.rb +306 -306
- data/lib/chef/mixin/provides.rb +28 -28
- data/lib/chef/mixin/proxified_socket.rb +42 -42
- data/lib/chef/mixin/recipe_definition_dsl_core.rb +35 -35
- data/lib/chef/mixin/securable.rb +196 -196
- data/lib/chef/mixin/shell_out.rb +211 -211
- data/lib/chef/mixin/subclass_directive.rb +37 -37
- data/lib/chef/mixin/template.rb +262 -262
- data/lib/chef/mixin/unformatter.rb +32 -32
- data/lib/chef/mixin/uris.rb +42 -42
- data/lib/chef/mixin/versioned_api.rb +69 -69
- data/lib/chef/mixin/which.rb +50 -50
- data/lib/chef/mixin/why_run.rb +331 -331
- data/lib/chef/mixin/wide_string.rb +72 -72
- data/lib/chef/mixin/windows_architecture_helper.rb +113 -113
- data/lib/chef/mixin/windows_env_helper.rb +67 -67
- data/lib/chef/mixin/xml_escape.rb +138 -138
- data/lib/chef/mixins.rb +13 -13
- data/lib/chef/monkey_patches/net_http.rb +60 -60
- data/lib/chef/monkey_patches/webrick-utils.rb +51 -51
- data/lib/chef/monkey_patches/win32/registry.rb +86 -86
- data/lib/chef/monologger.rb +88 -88
- data/lib/chef/nil_argument.rb +3 -3
- data/lib/chef/node.rb +677 -677
- data/lib/chef/node/attribute.rb +673 -673
- data/lib/chef/node/attribute_collections.rb +231 -231
- data/lib/chef/node/common_api.rb +121 -121
- data/lib/chef/node/immutable_collections.rb +180 -180
- data/lib/chef/node/mixin/deep_merge_cache.rb +61 -61
- data/lib/chef/node/mixin/immutablize_array.rb +67 -67
- data/lib/chef/node/mixin/immutablize_hash.rb +54 -54
- data/lib/chef/node/mixin/state_tracking.rb +96 -96
- data/lib/chef/node_map.rb +238 -238
- data/lib/chef/null_logger.rb +72 -72
- data/lib/chef/org.rb +147 -147
- data/lib/chef/platform.rb +30 -30
- data/lib/chef/platform/priority_map.rb +41 -41
- data/lib/chef/platform/provider_handler_map.rb +29 -29
- data/lib/chef/platform/provider_mapping.rb +222 -222
- data/lib/chef/platform/provider_priority_map.rb +11 -11
- data/lib/chef/platform/query_helpers.rb +112 -112
- data/lib/chef/platform/rebooter.rb +67 -67
- data/lib/chef/platform/resource_handler_map.rb +29 -29
- data/lib/chef/platform/resource_priority_map.rb +11 -11
- data/lib/chef/platform/service_helpers.rb +122 -122
- data/lib/chef/policy_builder.rb +42 -42
- data/lib/chef/policy_builder/dynamic.rb +185 -185
- data/lib/chef/policy_builder/expand_node_object.rb +278 -278
- data/lib/chef/policy_builder/policyfile.rb +550 -550
- data/lib/chef/property.rb +731 -731
- data/lib/chef/provider.rb +458 -458
- data/lib/chef/provider/apt_repository.rb +258 -258
- data/lib/chef/provider/apt_update.rb +87 -87
- data/lib/chef/provider/batch.rb +45 -45
- data/lib/chef/provider/breakpoint.rb +38 -38
- data/lib/chef/provider/cookbook_file.rb +53 -53
- data/lib/chef/provider/cookbook_file/content.rb +49 -49
- data/lib/chef/provider/cron.rb +262 -262
- data/lib/chef/provider/cron/aix.rb +50 -50
- data/lib/chef/provider/cron/solaris.rb +22 -22
- data/lib/chef/provider/cron/unix.rb +83 -83
- data/lib/chef/provider/deploy.rb +476 -476
- data/lib/chef/provider/deploy/revision.rb +107 -107
- data/lib/chef/provider/deploy/timestamped.rb +34 -34
- data/lib/chef/provider/directory.rb +168 -168
- data/lib/chef/provider/dsc_resource.rb +213 -213
- data/lib/chef/provider/dsc_script.rb +189 -189
- data/lib/chef/provider/env.rb +169 -169
- data/lib/chef/provider/env/windows.rb +72 -72
- data/lib/chef/provider/erl_call.rb +108 -108
- data/lib/chef/provider/execute.rb +128 -128
- data/lib/chef/provider/file.rb +488 -488
- data/lib/chef/provider/file/content.rb +39 -39
- data/lib/chef/provider/git.rb +334 -334
- data/lib/chef/provider/group.rb +185 -185
- data/lib/chef/provider/group/aix.rb +79 -79
- data/lib/chef/provider/group/dscl.rb +173 -173
- data/lib/chef/provider/group/gpasswd.rb +58 -58
- data/lib/chef/provider/group/groupadd.rb +133 -133
- data/lib/chef/provider/group/groupmod.rb +123 -123
- data/lib/chef/provider/group/pw.rb +137 -137
- data/lib/chef/provider/group/suse.rb +83 -83
- data/lib/chef/provider/group/usermod.rb +90 -90
- data/lib/chef/provider/group/windows.rb +109 -109
- data/lib/chef/provider/http_request.rb +122 -122
- data/lib/chef/provider/ifconfig.rb +283 -283
- data/lib/chef/provider/ifconfig/aix.rb +94 -94
- data/lib/chef/provider/ifconfig/debian.rb +85 -85
- data/lib/chef/provider/ifconfig/redhat.rb +48 -48
- data/lib/chef/provider/launchd.rb +208 -208
- data/lib/chef/provider/link.rb +172 -172
- data/lib/chef/provider/log.rb +57 -57
- data/lib/chef/provider/lwrp_base.rb +98 -98
- data/lib/chef/provider/mdadm.rb +93 -93
- data/lib/chef/provider/mount.rb +171 -171
- data/lib/chef/provider/mount/aix.rb +180 -180
- data/lib/chef/provider/mount/mount.rb +270 -270
- data/lib/chef/provider/mount/solaris.rb +271 -271
- data/lib/chef/provider/mount/windows.rb +92 -92
- data/lib/chef/provider/noop.rb +37 -37
- data/lib/chef/provider/ohai.rb +51 -51
- data/lib/chef/provider/osx_profile.rb +257 -257
- data/lib/chef/provider/package.rb +656 -656
- data/lib/chef/provider/package/aix.rb +143 -143
- data/lib/chef/provider/package/apt.rb +201 -201
- data/lib/chef/provider/package/cab.rb +179 -179
- data/lib/chef/provider/package/chocolatey.rb +275 -275
- data/lib/chef/provider/package/dnf.rb +192 -192
- data/lib/chef/provider/package/dnf/dnf_helper.py +91 -91
- data/lib/chef/provider/package/dnf/python_helper.rb +157 -157
- data/lib/chef/provider/package/dnf/version.rb +56 -56
- data/lib/chef/provider/package/dpkg.rb +225 -225
- data/lib/chef/provider/package/easy_install.rb +135 -135
- data/lib/chef/provider/package/freebsd/base.rb +89 -89
- data/lib/chef/provider/package/freebsd/pkg.rb +114 -114
- data/lib/chef/provider/package/freebsd/pkgng.rb +76 -76
- data/lib/chef/provider/package/freebsd/port.rb +60 -60
- data/lib/chef/provider/package/homebrew.rb +138 -138
- data/lib/chef/provider/package/ips.rb +86 -86
- data/lib/chef/provider/package/macports.rb +101 -101
- data/lib/chef/provider/package/msu.rb +162 -162
- data/lib/chef/provider/package/openbsd.rb +139 -139
- data/lib/chef/provider/package/pacman.rb +104 -104
- data/lib/chef/provider/package/paludis.rb +85 -85
- data/lib/chef/provider/package/portage.rb +140 -140
- data/lib/chef/provider/package/powershell.rb +114 -114
- data/lib/chef/provider/package/rpm.rb +123 -123
- data/lib/chef/provider/package/rubygems.rb +591 -591
- data/lib/chef/provider/package/smartos.rb +92 -92
- data/lib/chef/provider/package/solaris.rb +138 -138
- data/lib/chef/provider/package/windows.rb +271 -271
- data/lib/chef/provider/package/windows/exe.rb +115 -115
- data/lib/chef/provider/package/windows/msi.rb +94 -94
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +87 -87
- data/lib/chef/provider/package/yum.rb +536 -536
- data/lib/chef/provider/package/yum/rpm_utils.rb +642 -642
- data/lib/chef/provider/package/yum/yum-dump.py +307 -307
- data/lib/chef/provider/package/yum/yum_cache.rb +376 -376
- data/lib/chef/provider/package/zypper.rb +163 -163
- data/lib/chef/provider/powershell_script.rb +223 -223
- data/lib/chef/provider/reboot.rb +70 -70
- data/lib/chef/provider/registry_key.rb +182 -182
- data/lib/chef/provider/remote_directory.rb +283 -283
- data/lib/chef/provider/remote_file.rb +53 -53
- data/lib/chef/provider/remote_file/cache_control_data.rb +195 -195
- data/lib/chef/provider/remote_file/content.rb +81 -81
- data/lib/chef/provider/remote_file/fetcher.rb +57 -57
- data/lib/chef/provider/remote_file/ftp.rb +172 -172
- data/lib/chef/provider/remote_file/http.rb +135 -135
- data/lib/chef/provider/remote_file/local_file.rb +60 -60
- data/lib/chef/provider/remote_file/network_file.rb +48 -48
- data/lib/chef/provider/remote_file/sftp.rb +105 -105
- data/lib/chef/provider/resource_update.rb +52 -52
- data/lib/chef/provider/route.rb +231 -231
- data/lib/chef/provider/ruby_block.rb +44 -44
- data/lib/chef/provider/script.rb +121 -121
- data/lib/chef/provider/service.rb +259 -259
- data/lib/chef/provider/service/aix.rb +129 -129
- data/lib/chef/provider/service/aixinit.rb +117 -117
- data/lib/chef/provider/service/arch.rb +118 -118
- data/lib/chef/provider/service/debian.rb +182 -182
- data/lib/chef/provider/service/freebsd.rb +195 -195
- data/lib/chef/provider/service/gentoo.rb +71 -71
- data/lib/chef/provider/service/init.rb +94 -94
- data/lib/chef/provider/service/insserv.rb +59 -59
- data/lib/chef/provider/service/invokercd.rb +41 -41
- data/lib/chef/provider/service/macosx.rb +250 -250
- data/lib/chef/provider/service/openbsd.rb +217 -217
- data/lib/chef/provider/service/redhat.rb +126 -126
- data/lib/chef/provider/service/simple.rb +176 -176
- data/lib/chef/provider/service/solaris.rb +122 -122
- data/lib/chef/provider/service/systemd.rb +188 -188
- data/lib/chef/provider/service/upstart.rb +261 -261
- data/lib/chef/provider/service/windows.rb +313 -313
- data/lib/chef/provider/subversion.rb +233 -233
- data/lib/chef/provider/support/yum_repo.erb +132 -132
- data/lib/chef/provider/systemd_unit.rb +240 -240
- data/lib/chef/provider/template.rb +65 -65
- data/lib/chef/provider/template/content.rb +70 -70
- data/lib/chef/provider/template_finder.rb +62 -62
- data/lib/chef/provider/user.rb +220 -220
- data/lib/chef/provider/user/aix.rb +99 -99
- data/lib/chef/provider/user/dscl.rb +719 -719
- data/lib/chef/provider/user/linux.rb +125 -125
- data/lib/chef/provider/user/pw.rb +111 -111
- data/lib/chef/provider/user/solaris.rb +129 -129
- data/lib/chef/provider/user/useradd.rb +158 -158
- data/lib/chef/provider/user/windows.rb +125 -125
- data/lib/chef/provider/whyrun_safe_ruby_block.rb +32 -32
- data/lib/chef/provider/windows_script.rb +75 -75
- data/lib/chef/provider/yum_repository.rb +120 -120
- data/lib/chef/provider_resolver.rb +172 -172
- data/lib/chef/providers.rb +152 -152
- data/lib/chef/recipe.rb +108 -108
- data/lib/chef/request_id.rb +37 -37
- data/lib/chef/reserved_names.rb +9 -9
- data/lib/chef/resource.rb +1626 -1626
- data/lib/chef/resource/action_class.rb +94 -94
- data/lib/chef/resource/apt_package.rb +32 -32
- data/lib/chef/resource/apt_repository.rb +46 -46
- data/lib/chef/resource/apt_update.rb +33 -33
- data/lib/chef/resource/bash.rb +33 -33
- data/lib/chef/resource/batch.rb +33 -33
- data/lib/chef/resource/bff_package.rb +27 -27
- data/lib/chef/resource/breakpoint.rb +32 -32
- data/lib/chef/resource/cab_package.rb +44 -44
- data/lib/chef/resource/chef_gem.rb +50 -50
- data/lib/chef/resource/chocolatey_package.rb +40 -40
- data/lib/chef/resource/conditional.rb +135 -135
- data/lib/chef/resource/conditional_action_not_nothing.rb +48 -48
- data/lib/chef/resource/cookbook_file.rb +49 -49
- data/lib/chef/resource/cron.rb +216 -216
- data/lib/chef/resource/csh.rb +33 -33
- data/lib/chef/resource/deploy.rb +443 -443
- data/lib/chef/resource/deploy_revision.rb +31 -31
- data/lib/chef/resource/directory.rb +62 -62
- data/lib/chef/resource/dnf_package.rb +74 -74
- data/lib/chef/resource/dpkg_package.rb +30 -30
- data/lib/chef/resource/dsc_resource.rb +129 -129
- data/lib/chef/resource/dsc_script.rb +140 -140
- data/lib/chef/resource/easy_install_package.rb +32 -32
- data/lib/chef/resource/env.rb +65 -65
- data/lib/chef/resource/erl_call.rb +85 -85
- data/lib/chef/resource/execute.rb +236 -236
- data/lib/chef/resource/file.rb +88 -88
- data/lib/chef/resource/file/verification.rb +130 -130
- data/lib/chef/resource/file/verification/systemd_unit.rb +67 -67
- data/lib/chef/resource/freebsd_package.rb +62 -62
- data/lib/chef/resource/gem_package.rb +41 -41
- data/lib/chef/resource/git.rb +44 -44
- data/lib/chef/resource/group.rb +102 -102
- data/lib/chef/resource/homebrew_package.rb +34 -34
- data/lib/chef/resource/http_request.rb +66 -66
- data/lib/chef/resource/ifconfig.rb +147 -147
- data/lib/chef/resource/ips_package.rb +34 -34
- data/lib/chef/resource/ksh.rb +32 -32
- data/lib/chef/resource/launchd.rb +156 -156
- data/lib/chef/resource/link.rb +107 -107
- data/lib/chef/resource/log.rb +76 -76
- data/lib/chef/resource/lwrp_base.rb +124 -124
- data/lib/chef/resource/macosx_service.rb +58 -58
- data/lib/chef/resource/macports_package.rb +27 -27
- data/lib/chef/resource/mdadm.rb +112 -112
- data/lib/chef/resource/mount.rb +187 -187
- data/lib/chef/resource/msu_package.rb +47 -47
- data/lib/chef/resource/ohai.rb +33 -33
- data/lib/chef/resource/openbsd_package.rb +35 -35
- data/lib/chef/resource/osx_profile.rb +74 -74
- data/lib/chef/resource/package.rb +47 -47
- data/lib/chef/resource/pacman_package.rb +28 -28
- data/lib/chef/resource/paludis_package.rb +33 -33
- data/lib/chef/resource/perl.rb +32 -32
- data/lib/chef/resource/portage_package.rb +32 -32
- data/lib/chef/resource/powershell_package.rb +41 -41
- data/lib/chef/resource/powershell_script.rb +50 -50
- data/lib/chef/resource/python.rb +31 -31
- data/lib/chef/resource/reboot.rb +48 -48
- data/lib/chef/resource/registry_key.rb +144 -144
- data/lib/chef/resource/remote_directory.rb +122 -122
- data/lib/chef/resource/remote_file.rb +158 -158
- data/lib/chef/resource/resource_notification.rb +122 -122
- data/lib/chef/resource/route.rb +137 -137
- data/lib/chef/resource/rpm_package.rb +32 -32
- data/lib/chef/resource/ruby.rb +31 -31
- data/lib/chef/resource/ruby_block.rb +53 -53
- data/lib/chef/resource/scm.rb +179 -179
- data/lib/chef/resource/script.rb +74 -74
- data/lib/chef/resource/service.rb +217 -217
- data/lib/chef/resource/smartos_package.rb +29 -29
- data/lib/chef/resource/solaris_package.rb +31 -31
- data/lib/chef/resource/subversion.rb +44 -44
- data/lib/chef/resource/systemd_unit.rb +63 -63
- data/lib/chef/resource/template.rb +215 -215
- data/lib/chef/resource/timestamped_deploy.rb +26 -26
- data/lib/chef/resource/user.rb +174 -174
- data/lib/chef/resource/user/aix_user.rb +31 -31
- data/lib/chef/resource/user/dscl_user.rb +31 -31
- data/lib/chef/resource/user/linux_user.rb +41 -41
- data/lib/chef/resource/user/pw_user.rb +31 -31
- data/lib/chef/resource/user/solaris_user.rb +31 -31
- data/lib/chef/resource/user/windows_user.rb +31 -31
- data/lib/chef/resource/whyrun_safe_ruby_block.rb +24 -24
- data/lib/chef/resource/windows_package.rb +55 -55
- data/lib/chef/resource/windows_script.rb +65 -65
- data/lib/chef/resource/windows_service.rb +71 -71
- data/lib/chef/resource/yum_package.rb +61 -61
- data/lib/chef/resource/yum_repository.rb +78 -78
- data/lib/chef/resource/zypper_package.rb +28 -28
- data/lib/chef/resource_builder.rb +156 -156
- data/lib/chef/resource_collection.rb +136 -136
- data/lib/chef/resource_collection/resource_collection_serialization.rb +59 -59
- data/lib/chef/resource_collection/resource_list.rb +100 -100
- data/lib/chef/resource_collection/resource_set.rb +173 -173
- data/lib/chef/resource_collection/stepable_iterator.rb +122 -122
- data/lib/chef/resource_definition.rb +68 -68
- data/lib/chef/resource_definition_list.rb +38 -38
- data/lib/chef/resource_reporter.rb +338 -338
- data/lib/chef/resource_resolver.rb +184 -184
- data/lib/chef/resources.rb +101 -101
- data/lib/chef/rest.rb +210 -210
- data/lib/chef/role.rb +280 -280
- data/lib/chef/run_context.rb +681 -681
- data/lib/chef/run_context/cookbook_compiler.rb +291 -291
- data/lib/chef/run_list.rb +168 -168
- data/lib/chef/run_list/run_list_expansion.rb +234 -234
- data/lib/chef/run_list/run_list_item.rb +98 -98
- data/lib/chef/run_list/versioned_recipe_list.rb +102 -102
- data/lib/chef/run_lock.rb +197 -197
- data/lib/chef/run_status.rb +125 -125
- data/lib/chef/runner.rb +143 -143
- data/lib/chef/sandbox.rb +20 -20
- data/lib/chef/scan_access_control.rb +138 -138
- data/lib/chef/search/query.rb +183 -183
- data/lib/chef/server_api.rb +80 -80
- data/lib/chef/server_api_versions.rb +40 -40
- data/lib/chef/shell.rb +327 -327
- data/lib/chef/shell/ext.rb +593 -593
- data/lib/chef/shell/model_wrapper.rb +120 -120
- data/lib/chef/shell/shell_session.rb +299 -299
- data/lib/chef/shell_out.rb +13 -13
- data/lib/chef/tasks/chef_repo.rake +200 -200
- data/lib/chef/user.rb +197 -197
- data/lib/chef/user_v1.rb +328 -328
- data/lib/chef/util/backup.rb +94 -94
- data/lib/chef/util/diff.rb +184 -184
- data/lib/chef/util/dsc/configuration_generator.rb +139 -139
- data/lib/chef/util/dsc/lcm_output_parser.rb +192 -192
- data/lib/chef/util/dsc/local_configuration_manager.rb +151 -151
- data/lib/chef/util/dsc/resource_info.rb +26 -26
- data/lib/chef/util/dsc/resource_store.rb +109 -109
- data/lib/chef/util/editor.rb +91 -91
- data/lib/chef/util/file_edit.rb +100 -100
- data/lib/chef/util/path_helper.rb +25 -25
- data/lib/chef/util/powershell/cmdlet.rb +173 -173
- data/lib/chef/util/powershell/cmdlet_result.rb +61 -61
- data/lib/chef/util/powershell/ps_credential.rb +41 -41
- data/lib/chef/util/selinux.rb +92 -92
- data/lib/chef/util/threaded_job_queue.rb +61 -61
- data/lib/chef/util/windows.rb +24 -24
- data/lib/chef/util/windows/net_group.rb +72 -72
- data/lib/chef/util/windows/net_use.rb +81 -81
- data/lib/chef/util/windows/net_user.rb +164 -164
- data/lib/chef/util/windows/volume.rb +53 -53
- data/lib/chef/version.rb +34 -34
- data/lib/chef/version/platform.rb +44 -44
- data/lib/chef/version_class.rb +75 -75
- data/lib/chef/version_constraint.rb +118 -118
- data/lib/chef/version_constraint/platform.rb +26 -26
- data/lib/chef/whitelist.rb +86 -86
- data/lib/chef/win32/api.rb +372 -372
- data/lib/chef/win32/api/crypto.rb +63 -63
- data/lib/chef/win32/api/error.rb +953 -953
- data/lib/chef/win32/api/file.rb +619 -619
- data/lib/chef/win32/api/installer.rb +165 -165
- data/lib/chef/win32/api/memory.rb +105 -105
- data/lib/chef/win32/api/net.rb +312 -312
- data/lib/chef/win32/api/process.rb +42 -42
- data/lib/chef/win32/api/psapi.rb +51 -51
- data/lib/chef/win32/api/registry.rb +51 -51
- data/lib/chef/win32/api/security.rb +460 -460
- data/lib/chef/win32/api/synchronization.rb +89 -89
- data/lib/chef/win32/api/system.rb +238 -238
- data/lib/chef/win32/api/unicode.rb +135 -135
- data/lib/chef/win32/crypto.rb +50 -50
- data/lib/chef/win32/error.rb +86 -86
- data/lib/chef/win32/eventlog.rb +31 -31
- data/lib/chef/win32/file.rb +216 -216
- data/lib/chef/win32/file/info.rb +99 -99
- data/lib/chef/win32/file/version_info.rb +93 -93
- data/lib/chef/win32/handle.rb +55 -55
- data/lib/chef/win32/memory.rb +101 -101
- data/lib/chef/win32/mutex.rb +116 -116
- data/lib/chef/win32/net.rb +311 -311
- data/lib/chef/win32/process.rb +97 -97
- data/lib/chef/win32/registry.rb +374 -374
- data/lib/chef/win32/security.rb +663 -665
- data/lib/chef/win32/security/ace.rb +123 -123
- data/lib/chef/win32/security/acl.rb +103 -103
- data/lib/chef/win32/security/securable_object.rb +109 -109
- data/lib/chef/win32/security/security_descriptor.rb +93 -93
- data/lib/chef/win32/security/sid.rb +304 -304
- data/lib/chef/win32/security/token.rb +72 -72
- data/lib/chef/win32/system.rb +62 -62
- data/lib/chef/win32/unicode.rb +60 -60
- data/lib/chef/win32/version.rb +158 -158
- data/lib/chef/workstation_config_loader.rb +23 -23
- data/spec/data/apt/chef-integration-test-1.0/debian/changelog +5 -5
- data/spec/data/apt/chef-integration-test-1.0/debian/compat +1 -1
- data/spec/data/apt/chef-integration-test-1.0/debian/control +13 -13
- data/spec/data/apt/chef-integration-test-1.0/debian/copyright +34 -34
- data/spec/data/apt/chef-integration-test-1.0/debian/files +1 -1
- data/spec/data/apt/chef-integration-test-1.0/debian/rules +13 -13
- data/spec/data/apt/chef-integration-test-1.0/debian/source/format +1 -1
- data/spec/data/apt/chef-integration-test-1.1/debian/changelog +11 -11
- data/spec/data/apt/chef-integration-test-1.1/debian/compat +1 -1
- data/spec/data/apt/chef-integration-test-1.1/debian/control +13 -13
- data/spec/data/apt/chef-integration-test-1.1/debian/copyright +34 -34
- data/spec/data/apt/chef-integration-test-1.1/debian/files +1 -1
- data/spec/data/apt/chef-integration-test-1.1/debian/rules +13 -13
- data/spec/data/apt/chef-integration-test-1.1/debian/source/format +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/changelog +5 -5
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.debhelper.log +45 -45
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.substvars +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/conffiles +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/control +10 -10
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/md5sums +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/compat +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/conffiles +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/control +13 -13
- data/spec/data/apt/chef-integration-test2-1.0/debian/copyright +34 -34
- data/spec/data/apt/chef-integration-test2-1.0/debian/files +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/rules +13 -13
- data/spec/data/apt/chef-integration-test2-1.0/debian/source/format +1 -1
- data/spec/data/apt/chef-integration-test2_1.0-1.dsc +18 -18
- data/spec/data/apt/chef-integration-test2_1.0-1_amd64.build +91 -91
- data/spec/data/apt/chef-integration-test2_1.0-1_amd64.changes +31 -31
- data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +22 -22
- data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +22 -22
- data/spec/data/apt/var/www/apt/conf/distributions +7 -7
- data/spec/data/apt/var/www/apt/conf/incoming +4 -4
- data/spec/data/apt/var/www/apt/conf/pulls +3 -3
- data/spec/data/apt/var/www/apt/db/version +4 -4
- data/spec/data/apt/var/www/apt/dists/sid/Release +19 -19
- data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +16 -16
- data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +5 -5
- data/spec/data/bootstrap/encrypted_data_bag_secret +1 -1
- data/spec/data/bootstrap/no_proxy.erb +2 -2
- data/spec/data/bootstrap/secret.erb +9 -9
- data/spec/data/bootstrap/test-hints.erb +12 -12
- data/spec/data/bootstrap/test.erb +1 -1
- data/spec/data/cb_version_cookbooks/tatft/README.rdoc +2 -2
- data/spec/data/cb_version_cookbooks/tatft/attributes/default.rb +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-600hhz-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ahd2gq-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-api8ux-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-b0r1m1-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-bfygsi-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-el14l6-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ivrl3y-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-kkbs85-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ory1ux-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-pgsq76-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ra8uim-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t7k1g-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t8g0sv-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ufy6g3-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-x2d6j9-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-xi0l6h-0 +1 -1
- data/spec/data/client.d_00/00-foo.rb +2 -2
- data/spec/data/client.d_00/01-bar.rb +1 -1
- data/spec/data/client.d_00/bar +1 -1
- data/spec/data/client.d_01/foo/bar.rb +1 -1
- data/spec/data/client.d_02/foo.rb/foo.txt +1 -1
- data/spec/data/config.rb +6 -6
- data/spec/data/cookbooks/angrybash/metadata.rb +2 -2
- data/spec/data/cookbooks/angrybash/recipes/default.rb +8 -8
- data/spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +2 -2
- data/spec/data/cookbooks/apache2/metadata.rb +2 -2
- data/spec/data/cookbooks/apache2/recipes/default.rb +2 -2
- data/spec/data/cookbooks/borken/metadata.rb +2 -2
- data/spec/data/cookbooks/borken/recipes/default.rb +1 -1
- data/spec/data/cookbooks/borken/templates/default/borken.erb +1 -1
- data/spec/data/cookbooks/chefignore +8 -8
- data/spec/data/cookbooks/ignorken/files/default/not_me.rb +2 -2
- data/spec/data/cookbooks/ignorken/metadata.rb +2 -2
- data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +1 -1
- data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +2 -2
- data/spec/data/cookbooks/java/files/default/java.response +1 -1
- data/spec/data/cookbooks/java/metadata.rb +2 -2
- data/spec/data/cookbooks/name-mismatch-versionnumber/README.md +4 -4
- data/spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb +8 -8
- data/spec/data/cookbooks/name-mismatch-versionnumber/recipes/default.rb +8 -8
- data/spec/data/cookbooks/openldap/attributes/default.rb +16 -16
- data/spec/data/cookbooks/openldap/attributes/smokey.rb +1 -1
- data/spec/data/cookbooks/openldap/definitions/client.rb +5 -5
- data/spec/data/cookbooks/openldap/definitions/server.rb +5 -5
- data/spec/data/cookbooks/openldap/files/default/.dotfile +1 -1
- data/spec/data/cookbooks/openldap/files/default/remotedir/.a_dotdir/.a_dotfile_in_a_dotdir +1 -1
- data/spec/data/cookbooks/openldap/files/default/remotedir/not_a_template.erb +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file1.txt +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file2.txt +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/.a_dotfile +1 -1
- data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file1.txt +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file2.txt +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/subdir_with_no_file_just_a_subsubdir/the_subsubdir/some_file.txt +3 -3
- data/spec/data/cookbooks/openldap/libraries/openldap.rb +4 -4
- data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +3 -3
- data/spec/data/cookbooks/openldap/metadata.rb +8 -8
- data/spec/data/cookbooks/openldap/recipes/default.rb +4 -4
- data/spec/data/cookbooks/openldap/recipes/gigantor.rb +3 -3
- data/spec/data/cookbooks/openldap/recipes/one.rb +15 -15
- data/spec/data/cookbooks/openldap/recipes/return.rb +2 -2
- data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/helpers.erb +14 -14
- data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/nested_openldap_partials.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/nested_partial.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +4 -4
- data/spec/data/cookbooks/openldap/templates/default/openldap_variable_stuff.conf.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/test.erb +1 -1
- data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +1 -1
- data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +4 -4
- data/spec/data/cookbooks/preseed/metadata.rb +2 -2
- data/spec/data/cookbooks/preseed/templates/default/preseed-template-variables.seed +1 -1
- data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +1 -1
- data/spec/data/cookbooks/supports-platform-constraints/metadata.rb +5 -5
- data/spec/data/definitions/test.rb +4 -4
- data/spec/data/environment-config.rb +4 -4
- data/spec/data/file-providers-method-snapshot-chef-11-4.json +127 -127
- data/spec/data/fileedit/hosts +4 -4
- data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/README.md +4 -4
- data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/metadata.rb +13 -13
- data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/recipes/default.rb +8 -8
- data/spec/data/invalid-metadata-chef-repo/invalid-metadata/README.md +4 -4
- data/spec/data/invalid-metadata-chef-repo/invalid-metadata/metadata.rb +9 -9
- data/spec/data/invalid-metadata-chef-repo/invalid-metadata/recipes/default.rb +8 -8
- data/spec/data/kitchen/chefignore +6 -6
- data/spec/data/kitchen/openldap/attributes/default.rb +3 -3
- data/spec/data/kitchen/openldap/attributes/robinson.rb +2 -2
- data/spec/data/kitchen/openldap/definitions/client.rb +3 -3
- data/spec/data/kitchen/openldap/definitions/drewbarrymore.rb +2 -2
- data/spec/data/kitchen/openldap/recipes/gigantor.rb +2 -2
- data/spec/data/kitchen/openldap/recipes/ignoreme.rb +2 -2
- data/spec/data/kitchen/openldap/recipes/woot.rb +3 -3
- data/spec/data/knife_subcommand/test_explicit_category.rb +6 -6
- data/spec/data/knife_subcommand/test_name_mapping.rb +4 -4
- data/spec/data/knife_subcommand/test_yourself.rb +21 -21
- data/spec/data/lwrp/providers/buck_passer.rb +28 -28
- data/spec/data/lwrp/providers/buck_passer_2.rb +26 -26
- data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +28 -28
- data/spec/data/lwrp/providers/inline_compiler.rb +26 -26
- data/spec/data/lwrp/providers/monkey_name_printer.rb +5 -5
- data/spec/data/lwrp/providers/paint_drying_watcher.rb +7 -7
- data/spec/data/lwrp/providers/thumb_twiddler.rb +7 -7
- data/spec/data/lwrp/resources/bar.rb +2 -2
- data/spec/data/lwrp/resources/foo.rb +4 -4
- data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +1 -1
- data/spec/data/lwrp_override/providers/buck_passer.rb +5 -5
- data/spec/data/lwrp_override/resources/foo.rb +10 -10
- data/spec/data/mac_users/10.7-8.plist.xml +559 -559
- data/spec/data/mac_users/10.7-8.shadow.xml +11 -11
- data/spec/data/mac_users/10.7.plist.xml +559 -559
- data/spec/data/mac_users/10.7.shadow.xml +11 -11
- data/spec/data/mac_users/10.8.plist.xml +559 -559
- data/spec/data/mac_users/10.8.shadow.xml +21 -21
- data/spec/data/mac_users/10.9.plist.xml +560 -560
- data/spec/data/mac_users/10.9.shadow.xml +21 -21
- data/spec/data/metadata/quick_start/metadata.rb +19 -19
- data/spec/data/nested.json +2 -2
- data/spec/data/nodes/default.rb +15 -15
- data/spec/data/nodes/test.example.com.rb +17 -17
- data/spec/data/nodes/test.rb +15 -15
- data/spec/data/null_config.rb +1 -1
- data/spec/data/object_loader/environments/test.json +7 -7
- data/spec/data/object_loader/environments/test.rb +2 -2
- data/spec/data/object_loader/environments/test_json_class.json +8 -8
- data/spec/data/object_loader/nodes/test.json +7 -7
- data/spec/data/object_loader/nodes/test.rb +2 -2
- data/spec/data/object_loader/nodes/test_json_class.json +8 -8
- data/spec/data/object_loader/roles/test.json +7 -7
- data/spec/data/object_loader/roles/test.rb +2 -2
- data/spec/data/object_loader/roles/test_json_class.json +8 -8
- data/spec/data/partial_one.erb +1 -1
- data/spec/data/prefer_metadata_json/metadata.json +51 -51
- data/spec/data/prefer_metadata_json/metadata.rb +6 -6
- data/spec/data/recipes/test.rb +7 -7
- data/spec/data/run_context/cookbooks/circular-dep1/attributes/default.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +1 -1
- data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -1
- data/spec/data/run_context/cookbooks/circular-dep2/attributes/default.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +1 -1
- data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency1/attributes/aa_first.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency1/attributes/default.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency1/attributes/zz_last.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency2/attributes/default.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -1
- data/spec/data/run_context/cookbooks/include/recipes/default.rb +24 -24
- data/spec/data/run_context/cookbooks/include/recipes/includee.rb +3 -3
- data/spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb +2 -2
- data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +1 -1
- data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-circular-deps/attributes/default.rb +2 -2
- data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +2 -2
- data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-deps/attributes/default.rb +2 -2
- data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +3 -3
- data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -1
- data/spec/data/run_context/cookbooks/test/attributes/george.rb +1 -1
- data/spec/data/run_context/cookbooks/test/definitions/new_animals.rb +9 -9
- data/spec/data/run_context/cookbooks/test/definitions/new_cat.rb +5 -5
- data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +1 -1
- data/spec/data/run_context/cookbooks/test/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/test/recipes/default.rb +5 -5
- data/spec/data/run_context/cookbooks/test/recipes/one.rb +7 -7
- data/spec/data/run_context/cookbooks/test/recipes/two.rb +7 -7
- data/spec/data/run_context/cookbooks/test/resources/resource.rb +1 -1
- data/spec/data/run_context/nodes/run_context.rb +5 -5
- data/spec/data/sample_msu1.xml +10 -10
- data/spec/data/sample_msu2.xml +14 -14
- data/spec/data/sample_msu3.xml +16 -16
- data/spec/data/search_queries_to_transform.txt +98 -98
- data/spec/data/shef-config.rb +10 -10
- data/spec/data/ssl/5e707473.0 +18 -18
- data/spec/data/ssl/chef-rspec.cert +27 -27
- data/spec/data/ssl/chef-rspec.key +27 -27
- data/spec/data/ssl/key.pem +15 -15
- data/spec/data/ssl/private_key.pem +27 -27
- data/spec/data/ssl/private_key_with_whitespace.pem +32 -32
- data/spec/data/standalone_cookbook/chefignore +9 -9
- data/spec/data/standalone_cookbook/recipes/default.rb +2 -2
- data/spec/data/trusted_certs/example.crt +22 -22
- data/spec/data/trusted_certs/example_no_cn.crt +36 -36
- data/spec/data/trusted_certs/intermediate.pem +27 -27
- data/spec/data/trusted_certs/opscode.pem +57 -57
- data/spec/data/trusted_certs/root.pem +22 -22
- data/spec/functional/application_spec.rb +58 -58
- data/spec/functional/assets/chefinittest +36 -36
- data/spec/functional/assets/testchefsubsys +10 -10
- data/spec/functional/assets/yumrepo/repodata/repomd.xml +55 -55
- data/spec/functional/audit/rspec_formatter_spec.rb +54 -54
- data/spec/functional/audit/runner_spec.rb +121 -121
- data/spec/functional/dsl/reboot_pending_spec.rb +106 -106
- data/spec/functional/dsl/registry_helper_spec.rb +61 -61
- data/spec/functional/event_loggers/windows_eventlog_spec.rb +104 -104
- data/spec/functional/file_content_management/deploy_strategies_spec.rb +229 -229
- data/spec/functional/http/simple_spec.rb +140 -140
- data/spec/functional/knife/configure_spec.rb +33 -33
- data/spec/functional/knife/cookbook_delete_spec.rb +156 -156
- data/spec/functional/knife/exec_spec.rb +55 -55
- data/spec/functional/knife/rehash_spec.rb +39 -39
- data/spec/functional/knife/smoke_test.rb +42 -42
- data/spec/functional/knife/ssh_spec.rb +284 -284
- data/spec/functional/mixin/powershell_out_spec.rb +43 -43
- data/spec/functional/mixin/shell_out_spec.rb +48 -48
- data/spec/functional/notifications_spec.rb +238 -238
- data/spec/functional/provider/remote_file/cache_control_data_spec.rb +100 -100
- data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +51 -51
- data/spec/functional/rebooter_spec.rb +105 -105
- data/spec/functional/resource/aix_service_spec.rb +138 -138
- data/spec/functional/resource/aixinit_service_spec.rb +211 -211
- data/spec/functional/resource/base.rb +28 -28
- data/spec/functional/resource/bash_spec.rb +88 -88
- data/spec/functional/resource/batch_spec.rb +34 -34
- data/spec/functional/resource/bff_spec.rb +120 -120
- data/spec/functional/resource/chocolatey_package_spec.rb +125 -125
- data/spec/functional/resource/cookbook_file_spec.rb +81 -81
- data/spec/functional/resource/cron_spec.rb +179 -179
- data/spec/functional/resource/deploy_revision_spec.rb +881 -881
- data/spec/functional/resource/directory_spec.rb +43 -43
- data/spec/functional/resource/dnf_package_spec.rb +686 -686
- data/spec/functional/resource/dpkg_package_spec.rb +339 -339
- data/spec/functional/resource/dsc_resource_spec.rb +90 -90
- data/spec/functional/resource/dsc_script_spec.rb +484 -484
- data/spec/functional/resource/env_spec.rb +192 -192
- data/spec/functional/resource/execute_spec.rb +171 -171
- data/spec/functional/resource/file_spec.rb +167 -167
- data/spec/functional/resource/git_spec.rb +257 -257
- data/spec/functional/resource/group_spec.rb +488 -488
- data/spec/functional/resource/ifconfig_spec.rb +171 -171
- data/spec/functional/resource/link_spec.rb +703 -703
- data/spec/functional/resource/mount_spec.rb +207 -207
- data/spec/functional/resource/msu_package_spec.rb +84 -84
- data/spec/functional/resource/ohai_spec.rb +62 -62
- data/spec/functional/resource/package_spec.rb +386 -386
- data/spec/functional/resource/powershell_script_spec.rb +601 -601
- data/spec/functional/resource/reboot_spec.rb +103 -103
- data/spec/functional/resource/registry_spec.rb +676 -676
- data/spec/functional/resource/remote_directory_spec.rb +220 -220
- data/spec/functional/resource/remote_file_spec.rb +249 -249
- data/spec/functional/resource/rpm_spec.rb +120 -120
- data/spec/functional/resource/template_spec.rb +212 -212
- data/spec/functional/resource/user/dscl_spec.rb +196 -196
- data/spec/functional/resource/user/useradd_spec.rb +709 -709
- data/spec/functional/resource/user/windows_spec.rb +133 -133
- data/spec/functional/resource/windows_package_spec.rb +168 -168
- data/spec/functional/resource/windows_service_spec.rb +102 -102
- data/spec/functional/rest_spec.rb +95 -95
- data/spec/functional/run_lock_spec.rb +473 -473
- data/spec/functional/shell_spec.rb +148 -148
- data/spec/functional/tiny_server_spec.rb +79 -79
- data/spec/functional/util/path_helper_spec.rb +37 -37
- data/spec/functional/util/powershell/cmdlet_spec.rb +111 -111
- data/spec/functional/version_spec.rb +35 -35
- data/spec/functional/win32/crypto_spec.rb +54 -54
- data/spec/functional/win32/registry_spec.rb +624 -624
- data/spec/functional/win32/security_spec.rb +135 -100
- data/spec/functional/win32/service_manager_spec.rb +220 -220
- data/spec/functional/win32/sid_spec.rb +55 -55
- data/spec/functional/win32/version_info_spec.rb +50 -50
- data/spec/functional/win32/versions_spec.rb +117 -117
- data/spec/integration/client/client_spec.rb +535 -535
- data/spec/integration/client/exit_code_spec.rb +245 -245
- data/spec/integration/client/ipv6_spec.rb +134 -134
- data/spec/integration/knife/chef_fs_data_store_spec.rb +556 -556
- data/spec/integration/knife/chef_repo_path_spec.rb +959 -959
- data/spec/integration/knife/chef_repository_file_system_spec.rb +296 -296
- data/spec/integration/knife/chefignore_spec.rb +300 -300
- data/spec/integration/knife/client_bulk_delete_spec.rb +130 -130
- data/spec/integration/knife/client_create_spec.rb +69 -69
- data/spec/integration/knife/client_delete_spec.rb +63 -63
- data/spec/integration/knife/client_key_create_spec.rb +65 -65
- data/spec/integration/knife/client_key_delete_spec.rb +42 -42
- data/spec/integration/knife/client_key_list_spec.rb +60 -60
- data/spec/integration/knife/client_key_show_spec.rb +44 -44
- data/spec/integration/knife/client_list_spec.rb +48 -48
- data/spec/integration/knife/client_show_spec.rb +36 -36
- data/spec/integration/knife/common_options_spec.rb +155 -155
- data/spec/integration/knife/cookbook_api_ipv6_spec.rb +112 -112
- data/spec/integration/knife/cookbook_bulk_delete_spec.rb +64 -64
- data/spec/integration/knife/cookbook_download_spec.rb +95 -95
- data/spec/integration/knife/cookbook_list_spec.rb +54 -54
- data/spec/integration/knife/cookbook_show_spec.rb +159 -159
- data/spec/integration/knife/cookbook_upload_spec.rb +90 -90
- data/spec/integration/knife/data_bag_create_spec.rb +55 -55
- data/spec/integration/knife/data_bag_delete_spec.rb +58 -58
- data/spec/integration/knife/data_bag_from_file_spec.rb +115 -115
- data/spec/integration/knife/data_bag_list_spec.rb +43 -43
- data/spec/integration/knife/data_bag_show_spec.rb +53 -53
- data/spec/integration/knife/delete_spec.rb +1017 -1017
- data/spec/integration/knife/deps_spec.rb +706 -706
- data/spec/integration/knife/diff_spec.rb +602 -602
- data/spec/integration/knife/download_spec.rb +1333 -1333
- data/spec/integration/knife/environment_compare_spec.rb +74 -74
- data/spec/integration/knife/environment_create_spec.rb +40 -40
- data/spec/integration/knife/environment_delete_spec.rb +36 -36
- data/spec/integration/knife/environment_from_file_spec.rb +115 -115
- data/spec/integration/knife/environment_list_spec.rb +41 -41
- data/spec/integration/knife/environment_show_spec.rb +76 -76
- data/spec/integration/knife/list_spec.rb +1059 -1059
- data/spec/integration/knife/node_bulk_delete_spec.rb +51 -51
- data/spec/integration/knife/node_create_spec.rb +46 -46
- data/spec/integration/knife/node_delete_spec.rb +47 -47
- data/spec/integration/knife/node_environment_set_spec.rb +45 -45
- data/spec/integration/knife/node_from_file_spec.rb +58 -58
- data/spec/integration/knife/node_list_spec.rb +44 -44
- data/spec/integration/knife/node_run_list_add_spec.rb +53 -53
- data/spec/integration/knife/node_run_list_remove_spec.rb +35 -35
- data/spec/integration/knife/node_run_list_set_spec.rb +40 -40
- data/spec/integration/knife/node_show_spec.rb +35 -35
- data/spec/integration/knife/raw_spec.rb +244 -244
- data/spec/integration/knife/redirection_spec.rb +52 -52
- data/spec/integration/knife/role_bulk_delete_spec.rb +51 -51
- data/spec/integration/knife/role_create_spec.rb +40 -40
- data/spec/integration/knife/role_delete_spec.rb +47 -47
- data/spec/integration/knife/role_from_file_spec.rb +95 -95
- data/spec/integration/knife/role_list_spec.rb +44 -44
- data/spec/integration/knife/role_show_spec.rb +50 -50
- data/spec/integration/knife/serve_spec.rb +57 -57
- data/spec/integration/knife/show_spec.rb +167 -167
- data/spec/integration/knife/upload_spec.rb +1548 -1548
- data/spec/integration/recipes/accumulator_spec.rb +232 -232
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +175 -175
- data/spec/integration/recipes/lwrp_spec.rb +53 -53
- data/spec/integration/recipes/noop_resource_spec.rb +24 -24
- data/spec/integration/recipes/notifies_spec.rb +334 -334
- data/spec/integration/recipes/notifying_block_spec.rb +111 -111
- data/spec/integration/recipes/provider_choice.rb +37 -37
- data/spec/integration/recipes/recipe_dsl_spec.rb +1523 -1523
- data/spec/integration/recipes/remote_directory.rb +74 -74
- data/spec/integration/recipes/resource_action_spec.rb +581 -581
- data/spec/integration/recipes/resource_converge_if_changed_spec.rb +496 -496
- data/spec/integration/recipes/resource_load_spec.rb +208 -208
- data/spec/integration/solo/solo_spec.rb +217 -217
- data/spec/rcov.opts +2 -2
- data/spec/scripts/ssl-serve.rb +47 -47
- data/spec/spec_helper.rb +288 -288
- data/spec/stress/win32/file_spec.rb +37 -37
- data/spec/stress/win32/memory_spec.rb +22 -22
- data/spec/stress/win32/security_spec.rb +69 -69
- data/spec/support/chef_helpers.rb +115 -115
- data/spec/support/key_helpers.rb +104 -104
- data/spec/support/lib/chef/provider/easy.rb +35 -35
- data/spec/support/lib/chef/provider/openldap_includer.rb +29 -29
- data/spec/support/lib/chef/provider/snakeoil.rb +42 -42
- data/spec/support/lib/chef/resource/cat.rb +39 -39
- data/spec/support/lib/chef/resource/one_two_three_four.rb +38 -38
- data/spec/support/lib/chef/resource/openldap_includer.rb +28 -28
- data/spec/support/lib/chef/resource/with_state.rb +30 -30
- data/spec/support/lib/chef/resource/zen_follower.rb +35 -35
- data/spec/support/lib/chef/resource/zen_master.rb +42 -42
- data/spec/support/lib/library_load_order.rb +20 -20
- data/spec/support/matchers/leak.rb +98 -98
- data/spec/support/mock/constant.rb +52 -52
- data/spec/support/mock/platform.rb +25 -25
- data/spec/support/platform_helpers.rb +237 -237
- data/spec/support/platforms/prof/gc.rb +51 -51
- data/spec/support/platforms/prof/win32.rb +45 -45
- data/spec/support/platforms/win32/spec_service.rb +59 -59
- data/spec/support/shared/context/client.rb +302 -302
- data/spec/support/shared/context/config.rb +21 -21
- data/spec/support/shared/context/win32.rb +34 -34
- data/spec/support/shared/examples/client.rb +53 -53
- data/spec/support/shared/functional/diff_disabled.rb +10 -10
- data/spec/support/shared/functional/directory_resource.rb +176 -176
- data/spec/support/shared/functional/execute_resource.rb +150 -150
- data/spec/support/shared/functional/file_resource.rb +1050 -1050
- data/spec/support/shared/functional/http.rb +248 -248
- data/spec/support/shared/functional/knife.rb +37 -37
- data/spec/support/shared/functional/securable_resource.rb +547 -547
- data/spec/support/shared/functional/securable_resource_with_reporting.rb +394 -394
- data/spec/support/shared/functional/win32_service.rb +57 -57
- data/spec/support/shared/functional/windows_script.rb +272 -272
- data/spec/support/shared/integration/app_server_support.rb +40 -40
- data/spec/support/shared/integration/integration_helper.rb +154 -154
- data/spec/support/shared/integration/knife_support.rb +185 -185
- data/spec/support/shared/matchers/exit_with_code.rb +32 -32
- data/spec/support/shared/matchers/match_environment_variable.rb +17 -17
- data/spec/support/shared/shared_examples.rb +14 -14
- data/spec/support/shared/unit/api_error_inspector.rb +190 -190
- data/spec/support/shared/unit/api_versioning.rb +77 -77
- data/spec/support/shared/unit/application_dot_d.rb +73 -73
- data/spec/support/shared/unit/execute_resource.rb +170 -170
- data/spec/support/shared/unit/file_system_support.rb +69 -69
- data/spec/support/shared/unit/knife_shared.rb +39 -39
- data/spec/support/shared/unit/mock_shellout.rb +49 -49
- data/spec/support/shared/unit/platform_introspector.rb +189 -189
- data/spec/support/shared/unit/provider/file.rb +845 -845
- data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +402 -402
- data/spec/support/shared/unit/resource/static_provider_resolution.rb +63 -63
- data/spec/support/shared/unit/script_resource.rb +98 -98
- data/spec/support/shared/unit/user_and_client_shared.rb +114 -114
- data/spec/support/shared/unit/windows_script_resource.rb +80 -80
- data/spec/tiny_server.rb +192 -192
- data/spec/unit/api_client/registration_spec.rb +278 -278
- data/spec/unit/api_client_spec.rb +341 -341
- data/spec/unit/api_client_v1_spec.rb +455 -455
- data/spec/unit/application/apply_spec.rb +113 -113
- data/spec/unit/application/client_spec.rb +530 -530
- data/spec/unit/application/exit_code_spec.rb +229 -229
- data/spec/unit/application/knife_spec.rb +229 -229
- data/spec/unit/application/solo_spec.rb +232 -232
- data/spec/unit/application_spec.rb +411 -411
- data/spec/unit/audit/audit_event_proxy_spec.rb +318 -318
- data/spec/unit/audit/audit_reporter_spec.rb +439 -439
- data/spec/unit/audit/control_group_data_spec.rb +482 -482
- data/spec/unit/audit/logger_spec.rb +42 -42
- data/spec/unit/audit/rspec_formatter_spec.rb +29 -29
- data/spec/unit/audit/runner_spec.rb +144 -144
- data/spec/unit/chef_class_spec.rb +110 -110
- data/spec/unit/chef_fs/config_spec.rb +235 -235
- data/spec/unit/chef_fs/data_handler/group_handler_spec.rb +63 -63
- data/spec/unit/chef_fs/diff_spec.rb +328 -328
- data/spec/unit/chef_fs/file_pattern_spec.rb +512 -512
- data/spec/unit/chef_fs/file_system/cookbook_subdir_spec.rb +34 -34
- data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +47 -47
- data/spec/unit/chef_fs/file_system/repository/base_file_spec.rb +126 -126
- data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +175 -175
- data/spec/unit/chef_fs/file_system_spec.rb +148 -148
- data/spec/unit/chef_fs/parallelizer.rb +477 -477
- data/spec/unit/chef_fs/path_util_spec.rb +108 -108
- data/spec/unit/chef_spec.rb +25 -25
- data/spec/unit/client_spec.rb +604 -604
- data/spec/unit/config_fetcher_spec.rb +125 -125
- data/spec/unit/config_spec.rb +31 -31
- data/spec/unit/cookbook/chefignore_spec.rb +49 -49
- data/spec/unit/cookbook/cookbook_version_loader_spec.rb +207 -207
- data/spec/unit/cookbook/file_vendor_spec.rb +112 -112
- data/spec/unit/cookbook/metadata_spec.rb +971 -971
- data/spec/unit/cookbook/synchronizer_spec.rb +539 -539
- data/spec/unit/cookbook/syntax_check_spec.rb +225 -225
- data/spec/unit/cookbook_loader_spec.rb +299 -299
- data/spec/unit/cookbook_manifest_spec.rb +243 -243
- data/spec/unit/cookbook_site_streaming_uploader_spec.rb +203 -203
- data/spec/unit/cookbook_spec.rb +66 -66
- data/spec/unit/cookbook_uploader_spec.rb +199 -199
- data/spec/unit/cookbook_version_file_specificity_spec.rb +576 -576
- data/spec/unit/cookbook_version_spec.rb +359 -359
- data/spec/unit/daemon_spec.rb +183 -183
- data/spec/unit/data_bag_item_spec.rb +388 -388
- data/spec/unit/data_bag_spec.rb +260 -260
- data/spec/unit/data_collector/messages/helpers_spec.rb +193 -193
- data/spec/unit/data_collector/messages_spec.rb +192 -192
- data/spec/unit/data_collector/resource_report_spec.rb +145 -145
- data/spec/unit/data_collector_spec.rb +741 -741
- data/spec/unit/decorator/lazy_array_spec.rb +58 -58
- data/spec/unit/decorator/lazy_spec.rb +39 -39
- data/spec/unit/decorator_spec.rb +142 -142
- data/spec/unit/deprecated_spec.rb +59 -59
- data/spec/unit/deprecation_spec.rb +143 -143
- data/spec/unit/digester_spec.rb +49 -49
- data/spec/unit/dsl/audit_spec.rb +43 -43
- data/spec/unit/dsl/data_query_spec.rb +107 -107
- data/spec/unit/dsl/declare_resource_spec.rb +365 -365
- data/spec/unit/dsl/platform_introspection_spec.rb +129 -129
- data/spec/unit/dsl/reboot_pending_spec.rb +100 -100
- data/spec/unit/dsl/recipe_spec.rb +93 -93
- data/spec/unit/dsl/registry_helper_spec.rb +52 -52
- data/spec/unit/dsl/resources_spec.rb +85 -85
- data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +96 -96
- data/spec/unit/encrypted_data_bag_item_spec.rb +438 -438
- data/spec/unit/environment_spec.rb +470 -470
- data/spec/unit/event_dispatch/dispatcher_spec.rb +122 -122
- data/spec/unit/event_dispatch/dsl_spec.rb +83 -83
- data/spec/unit/exceptions_spec.rb +132 -132
- data/spec/unit/file_access_control_spec.rb +308 -308
- data/spec/unit/file_cache_spec.rb +114 -114
- data/spec/unit/file_content_management/deploy/cp_spec.rb +44 -44
- data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +101 -101
- data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +232 -232
- data/spec/unit/file_content_management/tempfile_spec.rb +115 -115
- data/spec/unit/formatters/base_spec.rb +71 -71
- data/spec/unit/formatters/doc_spec.rb +92 -92
- data/spec/unit/formatters/error_description_spec.rb +141 -141
- data/spec/unit/formatters/error_inspectors/api_error_formatting_spec.rb +76 -76
- data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +265 -265
- data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +126 -126
- data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +43 -43
- data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +26 -26
- data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +26 -26
- data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +191 -191
- data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +91 -91
- data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +155 -155
- data/spec/unit/guard_interpreter_spec.rb +41 -41
- data/spec/unit/handler/json_file_spec.rb +63 -63
- data/spec/unit/handler_spec.rb +302 -302
- data/spec/unit/http/api_versions_spec.rb +69 -69
- data/spec/unit/http/authenticator_spec.rb +80 -80
- data/spec/unit/http/basic_client_spec.rb +72 -72
- data/spec/unit/http/http_request_spec.rb +91 -91
- data/spec/unit/http/json_input_spec.rb +128 -128
- data/spec/unit/http/simple_spec.rb +32 -32
- data/spec/unit/http/socketless_chef_zero_client_spec.rb +173 -173
- data/spec/unit/http/ssl_policies_spec.rb +169 -169
- data/spec/unit/http/validate_content_length_spec.rb +207 -207
- data/spec/unit/http_spec.rb +220 -220
- data/spec/unit/json_compat_spec.rb +105 -105
- data/spec/unit/key_spec.rb +631 -631
- data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +152 -152
- data/spec/unit/knife/bootstrap/client_builder_spec.rb +207 -207
- data/spec/unit/knife/bootstrap_spec.rb +824 -824
- data/spec/unit/knife/client_bulk_delete_spec.rb +166 -166
- data/spec/unit/knife/client_create_spec.rb +186 -186
- data/spec/unit/knife/client_delete_spec.rb +99 -99
- data/spec/unit/knife/client_edit_spec.rb +53 -53
- data/spec/unit/knife/client_list_spec.rb +34 -34
- data/spec/unit/knife/client_reregister_spec.rb +62 -62
- data/spec/unit/knife/client_show_spec.rb +52 -52
- data/spec/unit/knife/configure_client_spec.rb +83 -83
- data/spec/unit/knife/configure_spec.rb +241 -241
- data/spec/unit/knife/cookbook_bulk_delete_spec.rb +87 -87
- data/spec/unit/knife/cookbook_create_spec.rb +261 -261
- data/spec/unit/knife/cookbook_delete_spec.rb +239 -239
- data/spec/unit/knife/cookbook_download_spec.rb +237 -237
- data/spec/unit/knife/cookbook_list_spec.rb +88 -88
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +65 -65
- data/spec/unit/knife/cookbook_metadata_spec.rb +182 -182
- data/spec/unit/knife/cookbook_show_spec.rb +221 -221
- data/spec/unit/knife/cookbook_site_download_spec.rb +150 -150
- data/spec/unit/knife/cookbook_site_install_spec.rb +200 -200
- data/spec/unit/knife/cookbook_site_share_spec.rb +209 -209
- data/spec/unit/knife/cookbook_site_unshare_spec.rb +77 -77
- data/spec/unit/knife/cookbook_test_spec.rb +84 -84
- data/spec/unit/knife/cookbook_upload_spec.rb +331 -331
- data/spec/unit/knife/core/bootstrap_context_spec.rb +307 -307
- data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +187 -187
- data/spec/unit/knife/core/custom_manifest_loader_spec.rb +41 -41
- data/spec/unit/knife/core/gem_glob_loader_spec.rb +209 -209
- data/spec/unit/knife/core/hashed_command_loader_spec.rb +110 -110
- data/spec/unit/knife/core/node_editor_spec.rb +211 -211
- data/spec/unit/knife/core/object_loader_spec.rb +81 -81
- data/spec/unit/knife/core/subcommand_loader_spec.rb +70 -70
- data/spec/unit/knife/core/ui_spec.rb +629 -629
- data/spec/unit/knife/data_bag_create_spec.rb +129 -129
- data/spec/unit/knife/data_bag_edit_spec.rb +127 -127
- data/spec/unit/knife/data_bag_from_file_spec.rb +173 -173
- data/spec/unit/knife/data_bag_secret_options_spec.rb +165 -165
- data/spec/unit/knife/data_bag_show_spec.rb +124 -124
- data/spec/unit/knife/environment_compare_spec.rb +112 -112
- data/spec/unit/knife/environment_create_spec.rb +91 -91
- data/spec/unit/knife/environment_delete_spec.rb +71 -71
- data/spec/unit/knife/environment_edit_spec.rb +79 -79
- data/spec/unit/knife/environment_from_file_spec.rb +90 -90
- data/spec/unit/knife/environment_list_spec.rb +54 -54
- data/spec/unit/knife/environment_show_spec.rb +52 -52
- data/spec/unit/knife/index_rebuild_spec.rb +125 -125
- data/spec/unit/knife/key_create_spec.rb +223 -223
- data/spec/unit/knife/key_delete_spec.rb +133 -133
- data/spec/unit/knife/key_edit_spec.rb +264 -264
- data/spec/unit/knife/key_helper.rb +74 -74
- data/spec/unit/knife/key_list_spec.rb +216 -216
- data/spec/unit/knife/key_show_spec.rb +126 -126
- data/spec/unit/knife/knife_help.rb +92 -92
- data/spec/unit/knife/node_bulk_delete_spec.rb +94 -94
- data/spec/unit/knife/node_delete_spec.rb +77 -77
- data/spec/unit/knife/node_edit_spec.rb +114 -114
- data/spec/unit/knife/node_environment_set_spec.rb +56 -56
- data/spec/unit/knife/node_from_file_spec.rb +59 -59
- data/spec/unit/knife/node_list_spec.rb +62 -62
- data/spec/unit/knife/node_run_list_add_spec.rb +145 -145
- data/spec/unit/knife/node_run_list_remove_spec.rb +106 -106
- data/spec/unit/knife/node_run_list_set_spec.rb +115 -115
- data/spec/unit/knife/node_show_spec.rb +65 -65
- data/spec/unit/knife/osc_user_create_spec.rb +93 -93
- data/spec/unit/knife/osc_user_delete_spec.rb +44 -44
- data/spec/unit/knife/osc_user_edit_spec.rb +52 -52
- data/spec/unit/knife/osc_user_list_spec.rb +37 -37
- data/spec/unit/knife/osc_user_reregister_spec.rb +58 -58
- data/spec/unit/knife/osc_user_show_spec.rb +46 -46
- data/spec/unit/knife/raw_spec.rb +43 -43
- data/spec/unit/knife/role_bulk_delete_spec.rb +80 -80
- data/spec/unit/knife/role_create_spec.rb +80 -80
- data/spec/unit/knife/role_delete_spec.rb +67 -67
- data/spec/unit/knife/role_edit_spec.rb +77 -77
- data/spec/unit/knife/role_env_run_list_add_spec.rb +217 -217
- data/spec/unit/knife/role_env_run_list_clear_spec.rb +94 -94
- data/spec/unit/knife/role_env_run_list_remove_spec.rb +102 -102
- data/spec/unit/knife/role_env_run_list_replace_spec.rb +105 -105
- data/spec/unit/knife/role_env_run_list_set_spec.rb +99 -99
- data/spec/unit/knife/role_from_file_spec.rb +69 -69
- data/spec/unit/knife/role_list_spec.rb +54 -54
- data/spec/unit/knife/role_run_list_add_spec.rb +179 -179
- data/spec/unit/knife/role_run_list_clear_spec.rb +84 -84
- data/spec/unit/knife/role_run_list_remove_spec.rb +92 -92
- data/spec/unit/knife/role_run_list_replace_spec.rb +98 -98
- data/spec/unit/knife/role_run_list_set_spec.rb +89 -89
- data/spec/unit/knife/role_show_spec.rb +59 -59
- data/spec/unit/knife/ssh_spec.rb +426 -426
- data/spec/unit/knife/ssl_check_spec.rb +256 -256
- data/spec/unit/knife/ssl_fetch_spec.rb +222 -222
- data/spec/unit/knife/status_spec.rb +109 -109
- data/spec/unit/knife/tag_create_spec.rb +23 -23
- data/spec/unit/knife/tag_delete_spec.rb +25 -25
- data/spec/unit/knife/tag_list_spec.rb +23 -23
- data/spec/unit/knife/user_create_spec.rb +214 -214
- data/spec/unit/knife/user_delete_spec.rb +65 -65
- data/spec/unit/knife/user_edit_spec.rb +66 -66
- data/spec/unit/knife/user_list_spec.rb +36 -36
- data/spec/unit/knife/user_reregister_spec.rb +74 -74
- data/spec/unit/knife/user_show_spec.rb +65 -65
- data/spec/unit/knife_spec.rb +561 -561
- data/spec/unit/lib_backcompat_spec.rb +34 -34
- data/spec/unit/log/syslog_spec.rb +53 -53
- data/spec/unit/log/winevt_spec.rb +55 -55
- data/spec/unit/log_spec.rb +24 -24
- data/spec/unit/lwrp_spec.rb +777 -777
- data/spec/unit/mash_spec.rb +51 -51
- data/spec/unit/mixin/api_version_request_handling_spec.rb +126 -126
- data/spec/unit/mixin/checksum_spec.rb +54 -54
- data/spec/unit/mixin/command_spec.rb +107 -107
- data/spec/unit/mixin/convert_to_class_name_spec.rb +54 -54
- data/spec/unit/mixin/deep_merge_spec.rb +342 -342
- data/spec/unit/mixin/deprecation_spec.rb +57 -57
- data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +96 -96
- data/spec/unit/mixin/homebrew_user_spec.rb +100 -100
- data/spec/unit/mixin/lazy_module_include.rb +71 -71
- data/spec/unit/mixin/params_validate_spec.rb +410 -410
- data/spec/unit/mixin/path_sanity_spec.rb +92 -92
- data/spec/unit/mixin/powershell_out_spec.rb +94 -94
- data/spec/unit/mixin/powershell_type_coercions_spec.rb +83 -83
- data/spec/unit/mixin/properties_spec.rb +97 -97
- data/spec/unit/mixin/proxified_socket_spec.rb +97 -97
- data/spec/unit/mixin/securable_spec.rb +314 -314
- data/spec/unit/mixin/shell_out_spec.rb +302 -302
- data/spec/unit/mixin/subclass_directive_spec.rb +45 -45
- data/spec/unit/mixin/template_spec.rb +276 -276
- data/spec/unit/mixin/unformatter_spec.rb +61 -61
- data/spec/unit/mixin/uris_spec.rb +57 -57
- data/spec/unit/mixin/versioned_api_spec.rb +107 -107
- data/spec/unit/mixin/which.rb +160 -160
- data/spec/unit/mixin/windows_architecture_helper_spec.rb +85 -85
- data/spec/unit/mixin/xml_escape_spec.rb +54 -54
- data/spec/unit/monkey_patches/uri_spec.rb +34 -34
- data/spec/unit/monologger_spec.rb +45 -45
- data/spec/unit/node/attribute_spec.rb +1244 -1244
- data/spec/unit/node/immutable_collections_spec.rb +214 -214
- data/spec/unit/node/vivid_mash_spec.rb +353 -353
- data/spec/unit/node_map_spec.rb +170 -170
- data/spec/unit/node_spec.rb +1836 -1836
- data/spec/unit/org_spec.rb +196 -196
- data/spec/unit/platform/query_helpers_spec.rb +220 -220
- data/spec/unit/platform_spec.rb +269 -269
- data/spec/unit/policy_builder/dynamic_spec.rb +273 -273
- data/spec/unit/policy_builder/expand_node_object_spec.rb +336 -336
- data/spec/unit/policy_builder/policyfile_spec.rb +795 -795
- data/spec/unit/policy_builder_spec.rb +26 -26
- data/spec/unit/property/state_spec.rb +508 -508
- data/spec/unit/property/validation_spec.rb +720 -720
- data/spec/unit/property_spec.rb +1227 -1227
- data/spec/unit/provider/apt_repository_spec.rb +189 -189
- data/spec/unit/provider/apt_update_spec.rb +114 -114
- data/spec/unit/provider/breakpoint_spec.rb +53 -53
- data/spec/unit/provider/cookbook_file/content_spec.rb +39 -39
- data/spec/unit/provider/cookbook_file_spec.rb +58 -58
- data/spec/unit/provider/cron/unix_spec.rb +139 -139
- data/spec/unit/provider/cron_spec.rb +1010 -1010
- data/spec/unit/provider/deploy/revision_spec.rb +110 -110
- data/spec/unit/provider/deploy/timestamped_spec.rb +40 -40
- data/spec/unit/provider/deploy_spec.rb +641 -641
- data/spec/unit/provider/directory_spec.rb +300 -300
- data/spec/unit/provider/dsc_resource_spec.rb +343 -343
- data/spec/unit/provider/dsc_script_spec.rb +173 -173
- data/spec/unit/provider/env/windows_spec.rb +103 -103
- data/spec/unit/provider/env_spec.rb +310 -310
- data/spec/unit/provider/erl_call_spec.rb +85 -85
- data/spec/unit/provider/execute_spec.rb +242 -242
- data/spec/unit/provider/file/content_spec.rb +114 -114
- data/spec/unit/provider/file_spec.rb +56 -56
- data/spec/unit/provider/git_spec.rb +727 -727
- data/spec/unit/provider/group/dscl_spec.rb +331 -331
- data/spec/unit/provider/group/gpasswd_spec.rb +116 -116
- data/spec/unit/provider/group/groupadd_spec.rb +194 -194
- data/spec/unit/provider/group/groupmod_spec.rb +133 -133
- data/spec/unit/provider/group/pw_spec.rb +138 -138
- data/spec/unit/provider/group/suse_spec.rb +90 -90
- data/spec/unit/provider/group/usermod_spec.rb +115 -115
- data/spec/unit/provider/group/windows_spec.rb +109 -109
- data/spec/unit/provider/group_spec.rb +286 -286
- data/spec/unit/provider/http_request_spec.rb +159 -159
- data/spec/unit/provider/ifconfig/aix_spec.rb +180 -180
- data/spec/unit/provider/ifconfig/debian_spec.rb +332 -332
- data/spec/unit/provider/ifconfig/redhat_spec.rb +73 -73
- data/spec/unit/provider/ifconfig_spec.rb +194 -194
- data/spec/unit/provider/launchd_spec.rb +268 -268
- data/spec/unit/provider/link_spec.rb +407 -407
- data/spec/unit/provider/log_spec.rb +89 -89
- data/spec/unit/provider/mdadm_spec.rb +140 -140
- data/spec/unit/provider/mount/aix_spec.rb +237 -237
- data/spec/unit/provider/mount/mount_spec.rb +474 -474
- data/spec/unit/provider/mount/solaris_spec.rb +822 -822
- data/spec/unit/provider/mount/windows_spec.rb +149 -149
- data/spec/unit/provider/mount_spec.rb +191 -191
- data/spec/unit/provider/ohai_spec.rb +84 -84
- data/spec/unit/provider/osx_profile_spec.rb +255 -255
- data/spec/unit/provider/package/aix_spec.rb +185 -185
- data/spec/unit/provider/package/apt_spec.rb +481 -481
- data/spec/unit/provider/package/cab_spec.rb +272 -272
- data/spec/unit/provider/package/chocolatey_spec.rb +489 -489
- data/spec/unit/provider/package/dnf/python_helper_spec.rb +29 -29
- data/spec/unit/provider/package/dpkg_spec.rb +287 -287
- data/spec/unit/provider/package/easy_install_spec.rb +114 -114
- data/spec/unit/provider/package/freebsd/pkg_spec.rb +274 -274
- data/spec/unit/provider/package/freebsd/pkgng_spec.rb +148 -148
- data/spec/unit/provider/package/freebsd/port_spec.rb +163 -163
- data/spec/unit/provider/package/homebrew_spec.rb +292 -292
- data/spec/unit/provider/package/ips_spec.rb +233 -233
- data/spec/unit/provider/package/macports_spec.rb +203 -203
- data/spec/unit/provider/package/msu_spec.rb +283 -283
- data/spec/unit/provider/package/openbsd_spec.rb +132 -132
- data/spec/unit/provider/package/pacman_spec.rb +194 -194
- data/spec/unit/provider/package/paludis_spec.rb +134 -134
- data/spec/unit/provider/package/portage_spec.rb +315 -315
- data/spec/unit/provider/package/powershell_spec.rb +337 -337
- data/spec/unit/provider/package/rpm_spec.rb +429 -429
- data/spec/unit/provider/package/rubygems_spec.rb +824 -824
- data/spec/unit/provider/package/smartos_spec.rb +110 -110
- data/spec/unit/provider/package/solaris_spec.rb +167 -167
- data/spec/unit/provider/package/windows/exe_spec.rb +201 -201
- data/spec/unit/provider/package/windows/msi_spec.rb +168 -168
- data/spec/unit/provider/package/windows_spec.rb +443 -443
- data/spec/unit/provider/package/yum/yum_cache_spec.rb +27 -27
- data/spec/unit/provider/package/yum_spec.rb +2294 -2294
- data/spec/unit/provider/package/zypper_spec.rb +348 -348
- data/spec/unit/provider/package_spec.rb +949 -949
- data/spec/unit/provider/powershell_script_spec.rb +106 -106
- data/spec/unit/provider/registry_key_spec.rb +407 -407
- data/spec/unit/provider/remote_directory_spec.rb +236 -236
- data/spec/unit/provider/remote_file/cache_control_data_spec.rb +245 -245
- data/spec/unit/provider/remote_file/content_spec.rb +253 -253
- data/spec/unit/provider/remote_file/fetcher_spec.rb +94 -94
- data/spec/unit/provider/remote_file/ftp_spec.rb +217 -217
- data/spec/unit/provider/remote_file/http_spec.rb +322 -322
- data/spec/unit/provider/remote_file/local_file_spec.rb +105 -105
- data/spec/unit/provider/remote_file/network_file_spec.rb +45 -45
- data/spec/unit/provider/remote_file/sftp_spec.rb +150 -150
- data/spec/unit/provider/remote_file_spec.rb +61 -61
- data/spec/unit/provider/route_spec.rb +248 -248
- data/spec/unit/provider/ruby_block_spec.rb +45 -45
- data/spec/unit/provider/script_spec.rb +157 -157
- data/spec/unit/provider/service/aix_service_spec.rb +195 -195
- data/spec/unit/provider/service/aixinit_service_spec.rb +272 -272
- data/spec/unit/provider/service/arch_service_spec.rb +324 -324
- data/spec/unit/provider/service/debian_service_spec.rb +375 -375
- data/spec/unit/provider/service/freebsd_service_spec.rb +617 -617
- data/spec/unit/provider/service/gentoo_service_spec.rb +144 -144
- data/spec/unit/provider/service/init_service_spec.rb +235 -235
- data/spec/unit/provider/service/insserv_service_spec.rb +75 -75
- data/spec/unit/provider/service/invokercd_service_spec.rb +211 -211
- data/spec/unit/provider/service/macosx_spec.rb +335 -335
- data/spec/unit/provider/service/openbsd_service_spec.rb +549 -549
- data/spec/unit/provider/service/redhat_spec.rb +250 -250
- data/spec/unit/provider/service/simple_service_spec.rb +169 -169
- data/spec/unit/provider/service/solaris_smf_service_spec.rb +255 -255
- data/spec/unit/provider/service/systemd_service_spec.rb +370 -370
- data/spec/unit/provider/service/upstart_service_spec.rb +364 -364
- data/spec/unit/provider/service/windows_spec.rb +463 -463
- data/spec/unit/provider/service_spec.rb +168 -168
- data/spec/unit/provider/subversion_spec.rb +361 -361
- data/spec/unit/provider/systemd_unit_spec.rb +885 -885
- data/spec/unit/provider/template/content_spec.rb +169 -169
- data/spec/unit/provider/template_spec.rb +89 -89
- data/spec/unit/provider/user/dscl_spec.rb +902 -902
- data/spec/unit/provider/user/linux_spec.rb +112 -112
- data/spec/unit/provider/user/pw_spec.rb +255 -255
- data/spec/unit/provider/user/solaris_spec.rb +178 -178
- data/spec/unit/provider/user/windows_spec.rb +185 -185
- data/spec/unit/provider/user_spec.rb +478 -478
- data/spec/unit/provider/whyrun_safe_ruby_block_spec.rb +46 -46
- data/spec/unit/provider/yum_repository_spec.rb +35 -35
- data/spec/unit/provider_resolver_spec.rb +939 -939
- data/spec/unit/provider_spec.rb +198 -198
- data/spec/unit/pure_application_spec.rb +32 -32
- data/spec/unit/recipe_spec.rb +758 -758
- data/spec/unit/resource/apt_package_spec.rb +38 -38
- data/spec/unit/resource/apt_repository_spec.rb +50 -50
- data/spec/unit/resource/apt_update_spec.rb +50 -50
- data/spec/unit/resource/bash_spec.rb +40 -40
- data/spec/unit/resource/batch_spec.rb +49 -49
- data/spec/unit/resource/breakpoint_spec.rb +47 -47
- data/spec/unit/resource/cab_package_spec.rb +38 -38
- data/spec/unit/resource/chef_gem_spec.rb +157 -157
- data/spec/unit/resource/chocolatey_package_spec.rb +79 -79
- data/spec/unit/resource/conditional_action_not_nothing_spec.rb +45 -45
- data/spec/unit/resource/conditional_spec.rb +254 -254
- data/spec/unit/resource/cookbook_file_spec.rb +88 -88
- data/spec/unit/resource/cron_spec.rb +186 -186
- data/spec/unit/resource/csh_spec.rb +40 -40
- data/spec/unit/resource/deploy_revision_spec.rb +42 -42
- data/spec/unit/resource/deploy_spec.rb +283 -283
- data/spec/unit/resource/directory_spec.rb +82 -82
- data/spec/unit/resource/dnf_package_spec.rb +99 -99
- data/spec/unit/resource/dpkg_package_spec.rb +32 -32
- data/spec/unit/resource/dsc_resource_spec.rb +102 -102
- data/spec/unit/resource/dsc_script_spec.rb +134 -134
- data/spec/unit/resource/easy_install_package_spec.rb +39 -39
- data/spec/unit/resource/env_spec.rb +85 -85
- data/spec/unit/resource/erl_call_spec.rb +81 -81
- data/spec/unit/resource/execute_spec.rb +249 -249
- data/spec/unit/resource/file/verification/systemd_unit_spec.rb +103 -103
- data/spec/unit/resource/file/verification_spec.rb +139 -139
- data/spec/unit/resource/file_spec.rb +130 -130
- data/spec/unit/resource/freebsd_package_spec.rb +87 -87
- data/spec/unit/resource/gem_package_spec.rb +42 -42
- data/spec/unit/resource/git_spec.rb +50 -50
- data/spec/unit/resource/group_spec.rb +162 -162
- data/spec/unit/resource/homebrew_package_spec.rb +50 -50
- data/spec/unit/resource/http_request_spec.rb +59 -59
- data/spec/unit/resource/ifconfig_spec.rb +109 -109
- data/spec/unit/resource/ips_package_spec.rb +40 -40
- data/spec/unit/resource/ksh_spec.rb +40 -40
- data/spec/unit/resource/launchd_spec.rb +32 -32
- data/spec/unit/resource/link_spec.rb +134 -134
- data/spec/unit/resource/log_spec.rb +73 -73
- data/spec/unit/resource/macports_package_spec.rb +32 -32
- data/spec/unit/resource/mdadm_spec.rb +107 -107
- data/spec/unit/resource/mount_spec.rb +215 -215
- data/spec/unit/resource/msu_package_spec.rb +49 -49
- data/spec/unit/resource/ohai_spec.rb +61 -61
- data/spec/unit/resource/openbsd_package_spec.rb +48 -48
- data/spec/unit/resource/osx_profile_spec.rb +62 -62
- data/spec/unit/resource/package_spec.rb +98 -98
- data/spec/unit/resource/pacman_package_spec.rb +32 -32
- data/spec/unit/resource/perl_spec.rb +40 -40
- data/spec/unit/resource/portage_package_spec.rb +38 -38
- data/spec/unit/resource/powershell_package_spec.rb +68 -68
- data/spec/unit/resource/powershell_script_spec.rb +136 -136
- data/spec/unit/resource/python_spec.rb +40 -40
- data/spec/unit/resource/registry_key_spec.rb +215 -215
- data/spec/unit/resource/remote_directory_spec.rb +97 -97
- data/spec/unit/resource/remote_file_spec.rb +207 -207
- data/spec/unit/resource/resource_notification_spec.rb +169 -169
- data/spec/unit/resource/route_spec.rb +107 -107
- data/spec/unit/resource/rpm_package_spec.rb +46 -46
- data/spec/unit/resource/ruby_block_spec.rb +61 -61
- data/spec/unit/resource/ruby_spec.rb +40 -40
- data/spec/unit/resource/scm_spec.rb +193 -193
- data/spec/unit/resource/script_spec.rb +44 -44
- data/spec/unit/resource/service_spec.rb +179 -179
- data/spec/unit/resource/smartos_package_spec.rb +33 -33
- data/spec/unit/resource/solaris_package_spec.rb +42 -42
- data/spec/unit/resource/subversion_spec.rb +71 -71
- data/spec/unit/resource/systemd_unit_spec.rb +133 -133
- data/spec/unit/resource/template_spec.rb +210 -210
- data/spec/unit/resource/timestamped_deploy_spec.rb +32 -32
- data/spec/unit/resource/user_spec.rb +133 -133
- data/spec/unit/resource/windows_package_spec.rb +95 -95
- data/spec/unit/resource/windows_service_spec.rb +49 -49
- data/spec/unit/resource/yum_package_spec.rb +150 -150
- data/spec/unit/resource/yum_repository_spec.rb +49 -49
- data/spec/unit/resource_builder_spec.rb +1 -1
- data/spec/unit/resource_collection/resource_list_spec.rb +137 -137
- data/spec/unit/resource_collection/resource_set_spec.rb +199 -199
- data/spec/unit/resource_collection/stepable_iterator_spec.rb +144 -144
- data/spec/unit/resource_collection_spec.rb +399 -399
- data/spec/unit/resource_definition_spec.rb +117 -117
- data/spec/unit/resource_reporter_spec.rb +782 -782
- data/spec/unit/resource_resolver_spec.rb +52 -52
- data/spec/unit/resource_spec.rb +1141 -1141
- data/spec/unit/rest/auth_credentials_spec.rb +292 -292
- data/spec/unit/rest_spec.rb +753 -753
- data/spec/unit/role_spec.rb +358 -358
- data/spec/unit/run_context/child_run_context_spec.rb +133 -133
- data/spec/unit/run_context/cookbook_compiler_spec.rb +226 -226
- data/spec/unit/run_context_spec.rb +241 -241
- data/spec/unit/run_list/run_list_expansion_spec.rb +144 -144
- data/spec/unit/run_list/run_list_item_spec.rb +117 -117
- data/spec/unit/run_list/versioned_recipe_list_spec.rb +194 -194
- data/spec/unit/run_list_spec.rb +312 -312
- data/spec/unit/run_lock_spec.rb +140 -140
- data/spec/unit/run_status_spec.rb +144 -144
- data/spec/unit/runner_spec.rb +412 -412
- data/spec/unit/scan_access_control_spec.rb +183 -183
- data/spec/unit/search/query_spec.rb +290 -290
- data/spec/unit/server_api_spec.rb +50 -50
- data/spec/unit/server_api_versions_spec.rb +44 -44
- data/spec/unit/shell/model_wrapper_spec.rb +96 -96
- data/spec/unit/shell/shell_ext_spec.rb +153 -153
- data/spec/unit/shell/shell_session_spec.rb +195 -195
- data/spec/unit/shell_out_spec.rb +18 -18
- data/spec/unit/shell_spec.rb +162 -162
- data/spec/unit/user_spec.rb +275 -275
- data/spec/unit/user_v1_spec.rb +583 -583
- data/spec/unit/util/backup_spec.rb +141 -141
- data/spec/unit/util/diff_spec.rb +576 -576
- data/spec/unit/util/dsc/configuration_generator_spec.rb +193 -193
- data/spec/unit/util/dsc/lcm_output_parser_spec.rb +248 -248
- data/spec/unit/util/dsc/local_configuration_manager_spec.rb +200 -200
- data/spec/unit/util/dsc/resource_store.rb +78 -78
- data/spec/unit/util/editor_spec.rb +152 -152
- data/spec/unit/util/file_edit_spec.rb +224 -224
- data/spec/unit/util/powershell/cmdlet_spec.rb +106 -106
- data/spec/unit/util/powershell/ps_credential_spec.rb +44 -44
- data/spec/unit/util/selinux_spec.rb +160 -160
- data/spec/unit/util/threaded_job_queue_spec.rb +51 -51
- data/spec/unit/version/platform_spec.rb +60 -60
- data/spec/unit/version_class_spec.rb +171 -171
- data/spec/unit/version_constraint/platform_spec.rb +45 -45
- data/spec/unit/version_constraint_spec.rb +179 -179
- data/spec/unit/win32/error_spec.rb +67 -67
- data/spec/unit/win32/registry_spec.rb +394 -394
- data/spec/unit/win32/security_spec.rb +66 -66
- data/spec/unit/windows_service_spec.rb +116 -116
- data/tasks/announce.rb +58 -58
- data/tasks/bin/bundle-platform +20 -20
- data/tasks/bin/bundle-platform.bat +2 -2
- data/tasks/bin/bundler_patch.rb +27 -27
- data/tasks/bin/create-override-gemfile +110 -110
- data/tasks/bin/gem-version-diff +37 -37
- data/tasks/bin/run_external_test +47 -47
- data/tasks/bundle.rb +97 -97
- data/tasks/bundle_util.rb +110 -110
- data/tasks/cbgb.rb +84 -84
- data/tasks/changelog.rb +31 -31
- data/tasks/dependencies.rb +151 -151
- data/tasks/gemfile_util.rb +390 -390
- data/tasks/maintainers.rb +211 -211
- data/tasks/rspec.rb +90 -90
- data/tasks/templates/prerelease.md.erb +26 -26
- data/tasks/templates/release.md.erb +26 -26
- metadata +4 -4
data/tasks/changelog.rb
CHANGED
@@ -1,31 +1,31 @@
|
|
1
|
-
begin
|
2
|
-
require "github_changelog_generator/task"
|
3
|
-
require "mixlib/install"
|
4
|
-
|
5
|
-
namespace :changelog do
|
6
|
-
# Fetch the latest version from mixlib-install
|
7
|
-
latest_stable_version = Mixlib::Install.available_versions("chef", "stable").select { |n| n.start_with? "12" }.last
|
8
|
-
|
9
|
-
# Take the changelog from the latest stable release and put it into history.
|
10
|
-
task :archive do
|
11
|
-
changelog = Net::HTTP.get(URI("https://raw.githubusercontent.com/chef/chef/v#{latest_stable_version}/CHANGELOG.md")).chomp.split("\n")
|
12
|
-
File.open("HISTORY.md", "w+") { |f| f.write(changelog[2..-4].join("\n")) }
|
13
|
-
end
|
14
|
-
|
15
|
-
# Run this to just update the changelog for the current release. This will
|
16
|
-
# take what is in HISTORY and generate a changelog of PRs between the most
|
17
|
-
# recent stable version and HEAD.
|
18
|
-
GitHubChangelogGenerator::RakeTask.new :update do |config|
|
19
|
-
config.future_release = "v#{Chef::VERSION}"
|
20
|
-
config.since_tag = "v#{latest_stable_version}"
|
21
|
-
config.release_branch = "chef-12"
|
22
|
-
config.max_issues = 0
|
23
|
-
config.add_issues_wo_labels = false
|
24
|
-
config.header = "This changelog reflects the current state of chef's chef-12 branch on github and may not reflect the current released version of chef, which is [](https://badge.fury.io/rb/chef)."
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
task :changelog => "changelog:update"
|
29
|
-
rescue LoadError
|
30
|
-
puts "github_changelog_generator is not available. gem install github_changelog_generator to generate changelogs"
|
31
|
-
end
|
1
|
+
begin
|
2
|
+
require "github_changelog_generator/task"
|
3
|
+
require "mixlib/install"
|
4
|
+
|
5
|
+
namespace :changelog do
|
6
|
+
# Fetch the latest version from mixlib-install
|
7
|
+
latest_stable_version = Mixlib::Install.available_versions("chef", "stable").select { |n| n.start_with? "12" }.last
|
8
|
+
|
9
|
+
# Take the changelog from the latest stable release and put it into history.
|
10
|
+
task :archive do
|
11
|
+
changelog = Net::HTTP.get(URI("https://raw.githubusercontent.com/chef/chef/v#{latest_stable_version}/CHANGELOG.md")).chomp.split("\n")
|
12
|
+
File.open("HISTORY.md", "w+") { |f| f.write(changelog[2..-4].join("\n")) }
|
13
|
+
end
|
14
|
+
|
15
|
+
# Run this to just update the changelog for the current release. This will
|
16
|
+
# take what is in HISTORY and generate a changelog of PRs between the most
|
17
|
+
# recent stable version and HEAD.
|
18
|
+
GitHubChangelogGenerator::RakeTask.new :update do |config|
|
19
|
+
config.future_release = "v#{Chef::VERSION}"
|
20
|
+
config.since_tag = "v#{latest_stable_version}"
|
21
|
+
config.release_branch = "chef-12"
|
22
|
+
config.max_issues = 0
|
23
|
+
config.add_issues_wo_labels = false
|
24
|
+
config.header = "This changelog reflects the current state of chef's chef-12 branch on github and may not reflect the current released version of chef, which is [](https://badge.fury.io/rb/chef)."
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
task :changelog => "changelog:update"
|
29
|
+
rescue LoadError
|
30
|
+
puts "github_changelog_generator is not available. gem install github_changelog_generator to generate changelogs"
|
31
|
+
end
|
data/tasks/dependencies.rb
CHANGED
@@ -1,151 +1,151 @@
|
|
1
|
-
#
|
2
|
-
# Copyright:: Copyright (c) 2016 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_relative "bundle_util"
|
19
|
-
require_relative "bundle"
|
20
|
-
require_relative "../version_policy"
|
21
|
-
|
22
|
-
desc "Tasks to update and check dependencies"
|
23
|
-
namespace :dependencies do
|
24
|
-
|
25
|
-
# Running update_ci on your local system wont' work. The best way to update
|
26
|
-
# dependencies locally is by running the dependency update script.
|
27
|
-
desc "Update all dependencies. dependencies:update to update as little as possible."
|
28
|
-
task :update do |t, rake_args|
|
29
|
-
system("#{File.join(Dir.pwd, "ci", "dependency_update.sh")}")
|
30
|
-
end
|
31
|
-
|
32
|
-
desc "Force update (when adding new gems to Gemfiles)"
|
33
|
-
task :force_update do |t, rake_args|
|
34
|
-
FileUtils.rm_f(File.join(Dir.pwd, ".bundle", "config"))
|
35
|
-
system("#{File.join(Dir.pwd, "ci", "dependency_update.sh")}")
|
36
|
-
end
|
37
|
-
|
38
|
-
# Update all dependencies to the latest constraint-matching version
|
39
|
-
desc "Update all dependencies. dependencies:update to update as little as possible (CI-only)."
|
40
|
-
task :update_ci => %w{
|
41
|
-
dependencies:update_gemfile_lock
|
42
|
-
dependencies:update_omnibus_overrides
|
43
|
-
dependencies:update_omnibus_gemfile_lock
|
44
|
-
dependencies:update_acceptance_gemfile_lock
|
45
|
-
dependencies:update_kitchen_tests_gemfile_lock
|
46
|
-
dependencies:update_kitchen_tests_berksfile_lock
|
47
|
-
}
|
48
|
-
|
49
|
-
desc "Update Gemfile.lock and all Gemfile.<platform>.locks."
|
50
|
-
task :update_gemfile_lock do |t, rake_args|
|
51
|
-
Rake::Task["bundle:update"].invoke
|
52
|
-
end
|
53
|
-
|
54
|
-
def gemfile_lock_task(task_name, dirs: [], other_platforms: true, leave_frozen: true)
|
55
|
-
dirs.each do |dir|
|
56
|
-
desc "Update #{dir}/Gemfile.lock."
|
57
|
-
task task_name do |t, rake_args|
|
58
|
-
extend BundleUtil
|
59
|
-
puts ""
|
60
|
-
puts "-------------------------------------------------------------------"
|
61
|
-
puts "Updating #{dir}/Gemfile.lock ..."
|
62
|
-
puts "-------------------------------------------------------------------"
|
63
|
-
with_bundle_unfrozen(cwd: dir, leave_frozen: leave_frozen) do
|
64
|
-
bundle "install", cwd: dir, delete_gemfile_lock: true
|
65
|
-
if other_platforms
|
66
|
-
# Include all other supported platforms into the lockfile as well
|
67
|
-
platforms.each do |platform|
|
68
|
-
bundle "lock", cwd: dir, platform: platform
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
def berksfile_lock_task(task_name, dirs: [])
|
77
|
-
dirs.each do |dir|
|
78
|
-
desc "Update #{dir}/Berksfile.lock."
|
79
|
-
task task_name do |t, rake_args|
|
80
|
-
extend BundleUtil
|
81
|
-
puts ""
|
82
|
-
puts "-------------------------------------------------------------------"
|
83
|
-
puts "Updating #{dir}/Berksfile.lock ..."
|
84
|
-
puts "-------------------------------------------------------------------"
|
85
|
-
if File.exist?("#{project_root}/#{dir}/Berksfile.lock")
|
86
|
-
File.delete("#{project_root}/#{dir}/Berksfile.lock")
|
87
|
-
end
|
88
|
-
Dir.chdir("#{project_root}/#{dir}") do
|
89
|
-
Bundler.with_clean_env do
|
90
|
-
sh "bundle exec berks install"
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
gemfile_lock_task :update_omnibus_gemfile_lock, dirs: %w{omnibus}
|
98
|
-
gemfile_lock_task :update_acceptance_gemfile_lock, dirs: %w{acceptance},
|
99
|
-
other_platforms: false, leave_frozen: false
|
100
|
-
gemfile_lock_task :update_kitchen_tests_gemfile_lock, dirs: %w{
|
101
|
-
kitchen-tests
|
102
|
-
}
|
103
|
-
berksfile_lock_task :update_kitchen_tests_berksfile_lock, dirs: %w{
|
104
|
-
kitchen-tests
|
105
|
-
kitchen-tests/cookbooks/audit_test
|
106
|
-
}
|
107
|
-
|
108
|
-
desc "Update omnibus overrides, including versions in version_policy.rb and latest version of gems: #{OMNIBUS_RUBYGEMS_AT_LATEST_VERSION.keys}."
|
109
|
-
task :update_omnibus_overrides do |t, rake_args|
|
110
|
-
puts ""
|
111
|
-
puts "-------------------------------------------------------------------"
|
112
|
-
puts "Updating omnibus_overrides.rb ..."
|
113
|
-
puts "-------------------------------------------------------------------"
|
114
|
-
|
115
|
-
# Generate the new overrides file
|
116
|
-
overrides = "# DO NOT EDIT. Generated by \"rake dependencies\". Edit version_policy.rb instead.\n"
|
117
|
-
|
118
|
-
# Replace the bundler and rubygems versions
|
119
|
-
OMNIBUS_RUBYGEMS_AT_LATEST_VERSION.each do |override_name, gem_name|
|
120
|
-
# Get the latest bundler version
|
121
|
-
puts "Running gem list -r #{gem_name} ..."
|
122
|
-
gem_list = `gem list -r #{gem_name}`
|
123
|
-
unless gem_list =~ /^#{gem_name}\s*\(([^)]*)\)$/
|
124
|
-
raise "gem list -r #{gem_name} failed with output:\n#{gem_list}"
|
125
|
-
end
|
126
|
-
|
127
|
-
# Emit it
|
128
|
-
puts "Latest version of #{gem_name} is #{$1}"
|
129
|
-
overrides << "override #{override_name.inspect}, version: #{$1.inspect}\n"
|
130
|
-
end
|
131
|
-
|
132
|
-
# Add explicit overrides
|
133
|
-
OMNIBUS_OVERRIDES.each do |override_name, version|
|
134
|
-
overrides << "override #{override_name.inspect}, version: #{version.inspect}\n"
|
135
|
-
end
|
136
|
-
|
137
|
-
# Write the file out (if changed)
|
138
|
-
overrides_path = File.expand_path("../../omnibus_overrides.rb", __FILE__)
|
139
|
-
if overrides != IO.read(overrides_path)
|
140
|
-
puts "Overrides changed!"
|
141
|
-
puts `git diff #{overrides_path}`
|
142
|
-
puts "Writing modified #{overrides_path} ..."
|
143
|
-
IO.write(overrides_path, overrides)
|
144
|
-
end
|
145
|
-
end
|
146
|
-
end
|
147
|
-
|
148
|
-
desc "Update all dependencies and check for outdated gems."
|
149
|
-
task :dependencies_ci => [ "dependencies:update_ci", "bundle:outdated" ]
|
150
|
-
task :dependencies => [ "dependencies:update" ]
|
151
|
-
task :update => [ "dependencies:update" ]
|
1
|
+
#
|
2
|
+
# Copyright:: Copyright (c) 2016 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_relative "bundle_util"
|
19
|
+
require_relative "bundle"
|
20
|
+
require_relative "../version_policy"
|
21
|
+
|
22
|
+
desc "Tasks to update and check dependencies"
|
23
|
+
namespace :dependencies do
|
24
|
+
|
25
|
+
# Running update_ci on your local system wont' work. The best way to update
|
26
|
+
# dependencies locally is by running the dependency update script.
|
27
|
+
desc "Update all dependencies. dependencies:update to update as little as possible."
|
28
|
+
task :update do |t, rake_args|
|
29
|
+
system("#{File.join(Dir.pwd, "ci", "dependency_update.sh")}")
|
30
|
+
end
|
31
|
+
|
32
|
+
desc "Force update (when adding new gems to Gemfiles)"
|
33
|
+
task :force_update do |t, rake_args|
|
34
|
+
FileUtils.rm_f(File.join(Dir.pwd, ".bundle", "config"))
|
35
|
+
system("#{File.join(Dir.pwd, "ci", "dependency_update.sh")}")
|
36
|
+
end
|
37
|
+
|
38
|
+
# Update all dependencies to the latest constraint-matching version
|
39
|
+
desc "Update all dependencies. dependencies:update to update as little as possible (CI-only)."
|
40
|
+
task :update_ci => %w{
|
41
|
+
dependencies:update_gemfile_lock
|
42
|
+
dependencies:update_omnibus_overrides
|
43
|
+
dependencies:update_omnibus_gemfile_lock
|
44
|
+
dependencies:update_acceptance_gemfile_lock
|
45
|
+
dependencies:update_kitchen_tests_gemfile_lock
|
46
|
+
dependencies:update_kitchen_tests_berksfile_lock
|
47
|
+
}
|
48
|
+
|
49
|
+
desc "Update Gemfile.lock and all Gemfile.<platform>.locks."
|
50
|
+
task :update_gemfile_lock do |t, rake_args|
|
51
|
+
Rake::Task["bundle:update"].invoke
|
52
|
+
end
|
53
|
+
|
54
|
+
def gemfile_lock_task(task_name, dirs: [], other_platforms: true, leave_frozen: true)
|
55
|
+
dirs.each do |dir|
|
56
|
+
desc "Update #{dir}/Gemfile.lock."
|
57
|
+
task task_name do |t, rake_args|
|
58
|
+
extend BundleUtil
|
59
|
+
puts ""
|
60
|
+
puts "-------------------------------------------------------------------"
|
61
|
+
puts "Updating #{dir}/Gemfile.lock ..."
|
62
|
+
puts "-------------------------------------------------------------------"
|
63
|
+
with_bundle_unfrozen(cwd: dir, leave_frozen: leave_frozen) do
|
64
|
+
bundle "install", cwd: dir, delete_gemfile_lock: true
|
65
|
+
if other_platforms
|
66
|
+
# Include all other supported platforms into the lockfile as well
|
67
|
+
platforms.each do |platform|
|
68
|
+
bundle "lock", cwd: dir, platform: platform
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
def berksfile_lock_task(task_name, dirs: [])
|
77
|
+
dirs.each do |dir|
|
78
|
+
desc "Update #{dir}/Berksfile.lock."
|
79
|
+
task task_name do |t, rake_args|
|
80
|
+
extend BundleUtil
|
81
|
+
puts ""
|
82
|
+
puts "-------------------------------------------------------------------"
|
83
|
+
puts "Updating #{dir}/Berksfile.lock ..."
|
84
|
+
puts "-------------------------------------------------------------------"
|
85
|
+
if File.exist?("#{project_root}/#{dir}/Berksfile.lock")
|
86
|
+
File.delete("#{project_root}/#{dir}/Berksfile.lock")
|
87
|
+
end
|
88
|
+
Dir.chdir("#{project_root}/#{dir}") do
|
89
|
+
Bundler.with_clean_env do
|
90
|
+
sh "bundle exec berks install"
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
gemfile_lock_task :update_omnibus_gemfile_lock, dirs: %w{omnibus}
|
98
|
+
gemfile_lock_task :update_acceptance_gemfile_lock, dirs: %w{acceptance},
|
99
|
+
other_platforms: false, leave_frozen: false
|
100
|
+
gemfile_lock_task :update_kitchen_tests_gemfile_lock, dirs: %w{
|
101
|
+
kitchen-tests
|
102
|
+
}
|
103
|
+
berksfile_lock_task :update_kitchen_tests_berksfile_lock, dirs: %w{
|
104
|
+
kitchen-tests
|
105
|
+
kitchen-tests/cookbooks/audit_test
|
106
|
+
}
|
107
|
+
|
108
|
+
desc "Update omnibus overrides, including versions in version_policy.rb and latest version of gems: #{OMNIBUS_RUBYGEMS_AT_LATEST_VERSION.keys}."
|
109
|
+
task :update_omnibus_overrides do |t, rake_args|
|
110
|
+
puts ""
|
111
|
+
puts "-------------------------------------------------------------------"
|
112
|
+
puts "Updating omnibus_overrides.rb ..."
|
113
|
+
puts "-------------------------------------------------------------------"
|
114
|
+
|
115
|
+
# Generate the new overrides file
|
116
|
+
overrides = "# DO NOT EDIT. Generated by \"rake dependencies\". Edit version_policy.rb instead.\n"
|
117
|
+
|
118
|
+
# Replace the bundler and rubygems versions
|
119
|
+
OMNIBUS_RUBYGEMS_AT_LATEST_VERSION.each do |override_name, gem_name|
|
120
|
+
# Get the latest bundler version
|
121
|
+
puts "Running gem list -r #{gem_name} ..."
|
122
|
+
gem_list = `gem list -r #{gem_name}`
|
123
|
+
unless gem_list =~ /^#{gem_name}\s*\(([^)]*)\)$/
|
124
|
+
raise "gem list -r #{gem_name} failed with output:\n#{gem_list}"
|
125
|
+
end
|
126
|
+
|
127
|
+
# Emit it
|
128
|
+
puts "Latest version of #{gem_name} is #{$1}"
|
129
|
+
overrides << "override #{override_name.inspect}, version: #{$1.inspect}\n"
|
130
|
+
end
|
131
|
+
|
132
|
+
# Add explicit overrides
|
133
|
+
OMNIBUS_OVERRIDES.each do |override_name, version|
|
134
|
+
overrides << "override #{override_name.inspect}, version: #{version.inspect}\n"
|
135
|
+
end
|
136
|
+
|
137
|
+
# Write the file out (if changed)
|
138
|
+
overrides_path = File.expand_path("../../omnibus_overrides.rb", __FILE__)
|
139
|
+
if overrides != IO.read(overrides_path)
|
140
|
+
puts "Overrides changed!"
|
141
|
+
puts `git diff #{overrides_path}`
|
142
|
+
puts "Writing modified #{overrides_path} ..."
|
143
|
+
IO.write(overrides_path, overrides)
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
desc "Update all dependencies and check for outdated gems."
|
149
|
+
task :dependencies_ci => [ "dependencies:update_ci", "bundle:outdated" ]
|
150
|
+
task :dependencies => [ "dependencies:update" ]
|
151
|
+
task :update => [ "dependencies:update" ]
|
data/tasks/gemfile_util.rb
CHANGED
@@ -1,390 +1,390 @@
|
|
1
|
-
require "rubygems"
|
2
|
-
require "bundler"
|
3
|
-
require "shellwords"
|
4
|
-
require "set"
|
5
|
-
|
6
|
-
module GemfileUtil
|
7
|
-
#
|
8
|
-
# Adds `override: true`, which allows your statement to override any other
|
9
|
-
# gem statement about the same gem in the Gemfile.
|
10
|
-
#
|
11
|
-
def gem(name, *args)
|
12
|
-
options = args[-1].is_a?(Hash) ? args[-1] : {}
|
13
|
-
|
14
|
-
# Unless we're finished with everything, ignore gems that are being overridden
|
15
|
-
unless overridden_gems == :finished
|
16
|
-
# If it's a path or override gem, it overrides whatever else is there.
|
17
|
-
if options[:path] || options[:override]
|
18
|
-
options.delete(:override)
|
19
|
-
warn_if_replacing(name, overridden_gems[name], args)
|
20
|
-
overridden_gems[name] = args
|
21
|
-
return
|
22
|
-
|
23
|
-
# If there's an override gem, and we're *not* an override gem, don't do anything
|
24
|
-
elsif overridden_gems[name]
|
25
|
-
warn_if_replacing(name, args, overridden_gems[name])
|
26
|
-
return
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
# Otherwise, add the gem normally
|
31
|
-
super
|
32
|
-
rescue
|
33
|
-
puts $!.backtrace
|
34
|
-
raise
|
35
|
-
end
|
36
|
-
|
37
|
-
def overridden_gems
|
38
|
-
@overridden_gems ||= {}
|
39
|
-
end
|
40
|
-
|
41
|
-
#
|
42
|
-
# Just before we finish the Gemfile, finish up the override gems
|
43
|
-
#
|
44
|
-
def to_definition(*args)
|
45
|
-
complete_overrides
|
46
|
-
super
|
47
|
-
end
|
48
|
-
|
49
|
-
def complete_overrides
|
50
|
-
to_override = overridden_gems
|
51
|
-
unless to_override == :finished
|
52
|
-
@overridden_gems = :finished
|
53
|
-
to_override.each do |name, args|
|
54
|
-
gem name, *args
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
#
|
60
|
-
# Include all gems in the locked gemfile.
|
61
|
-
#
|
62
|
-
# @param gemfile_path Path to the Gemfile to load (relative to your Gemfile)
|
63
|
-
# @param lockfile_path Path to the Gemfile to load (relative to your Gemfile).
|
64
|
-
# Defaults to <gemfile_path>.lock.
|
65
|
-
# @param groups A list of groups to include (whitelist). If not passed (or set
|
66
|
-
# to nil), all gems will be selected.
|
67
|
-
# @param without_groups A list of groups to ignore. Gems will be excluded from
|
68
|
-
# the results if all groups they belong to are ignored. This matches
|
69
|
-
# bundler's `without` behavior.
|
70
|
-
# @param gems A list of gems to include above and beyond the given groups.
|
71
|
-
# Gems in this list must be explicitly included in the Gemfile
|
72
|
-
# with a `gem "gem_name", ...` line or they will be silently
|
73
|
-
# ignored.
|
74
|
-
# @param copy_groups Whether to copy the groups over from the old lockfile to
|
75
|
-
# the new. Use this when the new lockfile has the same convention for
|
76
|
-
# groups as the old. Defaults to `false`.
|
77
|
-
#
|
78
|
-
def include_locked_gemfile(gemfile_path, lockfile_path = "#{gemfile_path}.lock", groups: nil, without_groups: nil, gems: [], copy_groups: false)
|
79
|
-
# Parse the desired lockfile
|
80
|
-
gemfile_path = Pathname.new(gemfile_path).expand_path(Bundler.default_gemfile.dirname).realpath
|
81
|
-
lockfile_path = Pathname.new(lockfile_path).expand_path(Bundler.default_gemfile.dirname).realpath
|
82
|
-
|
83
|
-
# Calculate relative_to
|
84
|
-
relative_to = Bundler.default_gemfile.dirname.realpath
|
85
|
-
|
86
|
-
# Call out to create-override-gemfile to read the Gemfile+Gemfile.lock (bundler does not work well if you do two things in one process)
|
87
|
-
create_override_gemfile_bin = File.expand_path("../bin/create-override-gemfile", __FILE__)
|
88
|
-
arguments = [
|
89
|
-
"--gemfile", gemfile_path,
|
90
|
-
"--lockfile", lockfile_path,
|
91
|
-
"--override"
|
92
|
-
]
|
93
|
-
arguments += [ "--relative-to", relative_to ] if relative_to != "."
|
94
|
-
arguments += Array(groups).flat_map { |group| [ "--group", group ] }
|
95
|
-
arguments += Array(without_groups).flat_map { |without| [ "--without", without ] }
|
96
|
-
arguments += Array(gems).flat_map { |name| [ "--gem", name ] }
|
97
|
-
arguments << "--copy-groups" if copy_groups
|
98
|
-
cmd = Shellwords.join([ Gem.ruby, "-S", create_override_gemfile_bin, *arguments ])
|
99
|
-
output = nil
|
100
|
-
Bundler.ui.info("> #{cmd}")
|
101
|
-
Bundler.with_clean_env do
|
102
|
-
output = `#{cmd}`
|
103
|
-
end
|
104
|
-
instance_eval(output, cmd, 1)
|
105
|
-
end
|
106
|
-
|
107
|
-
#
|
108
|
-
# Include all gems in the locked gemfile.
|
109
|
-
#
|
110
|
-
# @param current_gemfile The Gemfile you are currently loading (`self`).
|
111
|
-
# @param gemfile_path Path to the Gemfile to load (relative to your Gemfile)
|
112
|
-
# @param lockfile_path Path to the Gemfile to load (relative to your Gemfile).
|
113
|
-
# Defaults to <gemfile_path>.lock.
|
114
|
-
# @param groups A list of groups to include (whitelist). If not passed (or set
|
115
|
-
# to nil), all gems will be selected.
|
116
|
-
# @param without_groups A list of groups to ignore. Gems will be excluded from
|
117
|
-
# the results if all groups they belong to are ignored. This matches
|
118
|
-
# bundler's `without` behavior.
|
119
|
-
# @param gems A list of gems to include above and beyond the given groups.
|
120
|
-
# Gems in this list must be explicitly included in the Gemfile
|
121
|
-
# with a `gem "gem_name", ...` line or they will be silently
|
122
|
-
# ignored.
|
123
|
-
# @param copy_groups Whether to copy the groups over from the old lockfile to
|
124
|
-
# the new. Use this when the new lockfile has the same convention for
|
125
|
-
# groups as the old. Defaults to `false`.
|
126
|
-
#
|
127
|
-
def self.include_locked_gemfile(current_gemfile, gemfile_path, lockfile_path = "#{gemfile_path}.lock", groups: nil, without_groups: nil, gems: [], copy_groups: false)
|
128
|
-
current_gemfile.instance_eval do
|
129
|
-
extend GemfileUtil
|
130
|
-
include_locked_gemfile(gemfile_path, lockfile_path, groups: groups, without_groups: without_groups, gems: gems, copy_groups: copy_groups)
|
131
|
-
end
|
132
|
-
end
|
133
|
-
|
134
|
-
def warn_if_replacing(name, old_args, new_args)
|
135
|
-
return if !old_args || !new_args
|
136
|
-
if args_to_dep(name, *old_args) =~ args_to_dep(name, *new_args)
|
137
|
-
Bundler.ui.debug "Replaced Gemfile dependency #{name} (#{old_args}) with (#{new_args})"
|
138
|
-
else
|
139
|
-
Bundler.ui.warn "Replaced Gemfile dependency #{name} (#{old_args}) with (#{new_args})"
|
140
|
-
end
|
141
|
-
end
|
142
|
-
|
143
|
-
def args_to_dep(name, *version, **options)
|
144
|
-
version = [">= 0"] if version.empty?
|
145
|
-
Bundler::Dependency.new(name, version, options)
|
146
|
-
end
|
147
|
-
|
148
|
-
#
|
149
|
-
# Reads a bundle, including a gemfile and lockfile.
|
150
|
-
#
|
151
|
-
# Does no validation, does not update the lockfile or its gems in any way.
|
152
|
-
#
|
153
|
-
class Bundle
|
154
|
-
#
|
155
|
-
# Parse the given gemfile/lockfile pair.
|
156
|
-
#
|
157
|
-
# @return [Bundle] The parsed bundle.
|
158
|
-
#
|
159
|
-
def self.parse(gemfile_path, lockfile_path = "#{gemfile_path}.lock")
|
160
|
-
result = new(gemfile_path, lockfile_path)
|
161
|
-
result.gems
|
162
|
-
result
|
163
|
-
end
|
164
|
-
|
165
|
-
#
|
166
|
-
# Create a new Bundle to parse the given gemfile/lockfile pair.
|
167
|
-
#
|
168
|
-
def initialize(gemfile_path, lockfile_path = "#{gemfile_path}.lock")
|
169
|
-
@gemfile_path = gemfile_path
|
170
|
-
@lockfile_path = lockfile_path
|
171
|
-
end
|
172
|
-
|
173
|
-
#
|
174
|
-
# The path to the Gemfile
|
175
|
-
#
|
176
|
-
attr_reader :gemfile_path
|
177
|
-
|
178
|
-
#
|
179
|
-
# The path to the Lockfile
|
180
|
-
#
|
181
|
-
attr_reader :lockfile_path
|
182
|
-
|
183
|
-
#
|
184
|
-
# The list of gems.
|
185
|
-
#
|
186
|
-
# @return [Hash<String, Hash>] The resulting gems, where key = gem_name, and the
|
187
|
-
# hash has:
|
188
|
-
# - version: version of the gem.
|
189
|
-
# - source info (:source/:git/:ref/:path) from the lockfile
|
190
|
-
# - dependencies: A list of gem names this gem has a runtime
|
191
|
-
# dependency on. Dependencies are transitive: if A depends on B,
|
192
|
-
# and B depends on C, then A has C in its :dependencies list.
|
193
|
-
# - development_dependencies: - A list of gem names this gem has a
|
194
|
-
# development dependency on. Dependencies are transitive: if A
|
195
|
-
# depends on B, and B depends on C, then A has C in its
|
196
|
-
# :development_dependencies list. development dependencies *include*
|
197
|
-
# runtime dependencies.
|
198
|
-
# - groups: The list of groups (symbols) this gem is in. Groups
|
199
|
-
# are transitive: if A has a runtime dependency on B, and A is
|
200
|
-
# in group X, then B is also in group X.
|
201
|
-
# - declared_groups: The list of groups (symbols) this gem was
|
202
|
-
# declared in the Gemfile.
|
203
|
-
#
|
204
|
-
def gems
|
205
|
-
@gems ||= begin
|
206
|
-
gems = locks.dup
|
207
|
-
gems.each do |name, g|
|
208
|
-
if gem_declarations.has_key?(name)
|
209
|
-
g[:declared_groups] = gem_declarations[name][:groups]
|
210
|
-
else
|
211
|
-
g[:declared_groups] = []
|
212
|
-
end
|
213
|
-
g[:groups] = g[:declared_groups].dup
|
214
|
-
end
|
215
|
-
# Transitivize groups (since dependencies are already transitive, this is easy)
|
216
|
-
gems.each do |name, g|
|
217
|
-
g[:dependencies].each do |dep|
|
218
|
-
gems[dep][:groups] |= gems[name][:declared_groups].dup
|
219
|
-
end
|
220
|
-
end
|
221
|
-
gems
|
222
|
-
end
|
223
|
-
end
|
224
|
-
|
225
|
-
#
|
226
|
-
# Get the gems (and their deps) in the given group.
|
227
|
-
#
|
228
|
-
# @param groups A list of groups to include (whitelist). If not passed (or set
|
229
|
-
# to nil), all gems will be selected.
|
230
|
-
# @param without_groups A list of groups to ignore. Gems will be excluded from
|
231
|
-
# the results if all groups they belong to are ignored.
|
232
|
-
# This matches bundler's `without` behavior.
|
233
|
-
# @param gems A list of gems to include regardless of what groups are included.
|
234
|
-
#
|
235
|
-
# @return Hash[String, Hash] The resulting gems, where key = gem_name, and the
|
236
|
-
# hash has:
|
237
|
-
# - version: version of the gem.
|
238
|
-
# - source info (:source/:git/:ref/:path) from the lockfile
|
239
|
-
# - dependencies: A list of gem names this gem has a runtime
|
240
|
-
# dependency on. Dependencies are transitive: if A depends on B,
|
241
|
-
# and B depends on C, then A has C in its :dependencies list.
|
242
|
-
# - development_dependencies: - A list of gem names this gem has a
|
243
|
-
# development dependency on. Dependencies are transitive: if A
|
244
|
-
# depends on B, and B depends on C, then A has C in its
|
245
|
-
# :development_dependencies list. development dependencies
|
246
|
-
# *include* runtime dependencies.
|
247
|
-
# - groups: The list of groups (symbols) this gem is in. Groups
|
248
|
-
# are transitive: if A has a runtime dependency on B, and A is
|
249
|
-
# in group X, then B is also in group X.
|
250
|
-
# - declared_groups: The list of groups (symbols) this gem was
|
251
|
-
# declared in the Gemfile.
|
252
|
-
#
|
253
|
-
def select_gems(groups: nil, without_groups: nil)
|
254
|
-
# First, select the gems that match
|
255
|
-
result = {}
|
256
|
-
gems.each do |name, g|
|
257
|
-
dep_groups = g[:declared_groups] - [ :only_a_runtime_dependency_of_other_gems ]
|
258
|
-
dep_groups &= groups if groups
|
259
|
-
dep_groups -= without_groups if without_groups
|
260
|
-
if dep_groups.any?
|
261
|
-
result[name] ||= g
|
262
|
-
g[:dependencies].each do |dep|
|
263
|
-
result[dep] ||= gems[dep]
|
264
|
-
end
|
265
|
-
end
|
266
|
-
end
|
267
|
-
result
|
268
|
-
end
|
269
|
-
|
270
|
-
#
|
271
|
-
# Get all locks from the given lockfile.
|
272
|
-
#
|
273
|
-
# @return Hash[String, Hash] The resulting gems, where key = gem_name, and the
|
274
|
-
# hash has:
|
275
|
-
# - version: version of the gem.
|
276
|
-
# - source info (:source/:git/:ref/:path)
|
277
|
-
# - dependencies: A list of gem names this gem has a runtime
|
278
|
-
# dependency on. Dependencies are transitive: if A depends on B,
|
279
|
-
# and B depends on C, then A has C in its :dependencies list.
|
280
|
-
# - development_dependencies: - A list of gem names this gem has a
|
281
|
-
# development dependency on. Dependencies are transitive: if A
|
282
|
-
# depends on B, and B depends on C, then A has C in its
|
283
|
-
# :development_dependencies list. development dependencies *include*
|
284
|
-
# runtime dependencies.
|
285
|
-
#
|
286
|
-
def locks
|
287
|
-
@locks ||= begin
|
288
|
-
# Grab all the specs from the lockfile
|
289
|
-
locks = {}
|
290
|
-
parsed_lockfile = Bundler::LockfileParser.new(IO.read(lockfile_path))
|
291
|
-
parsed_lockfile.specs.each do |spec|
|
292
|
-
# Never include bundler, it can't be bundled and doesn't put itself in
|
293
|
-
# the lockfile correctly anyway
|
294
|
-
next if spec.name == "bundler"
|
295
|
-
# Only the platform-specific locks for now (TODO make it possible to emit all locks)
|
296
|
-
next if spec.platform && spec.platform != Gem::Platform::RUBY
|
297
|
-
lock = lock_source_metadata(spec)
|
298
|
-
lock[:version] = spec.version.to_s
|
299
|
-
runtime = spec.dependencies.select { |dep| dep.type == :runtime }
|
300
|
-
lock[:dependencies] = Set.new(runtime.map { |dep| dep.name })
|
301
|
-
lock[:development_dependencies] = Set.new(spec.dependencies.map { |dep| dep.name })
|
302
|
-
lock[:dependencies].delete("bundler")
|
303
|
-
lock[:development_dependencies].delete("bundler")
|
304
|
-
locks[spec.name] = lock
|
305
|
-
end
|
306
|
-
|
307
|
-
# Transitivize the deps.
|
308
|
-
locks.each do |name, lock|
|
309
|
-
# Not all deps were brought over (platform-specific ones) so weed them out
|
310
|
-
lock[:dependencies] &= locks.keys
|
311
|
-
lock[:development_dependencies] &= locks.keys
|
312
|
-
|
313
|
-
lock[:dependencies] = transitive_dependencies(locks, name, :dependencies)
|
314
|
-
lock[:development_dependencies] = transitive_dependencies(locks, name, :development_dependencies)
|
315
|
-
end
|
316
|
-
|
317
|
-
locks
|
318
|
-
end
|
319
|
-
end
|
320
|
-
|
321
|
-
#
|
322
|
-
# Get all desired gems, sans dependencies, from the gemfile.
|
323
|
-
#
|
324
|
-
# @param gemfile Path to the Gemfile to load
|
325
|
-
#
|
326
|
-
# @return Hash<String, Hash> An array of hashes where key = gem name and value
|
327
|
-
# has :groups (an array of symbols representing the groups the gem
|
328
|
-
# is in). :groups are not transitive, since we don't know the
|
329
|
-
# dependency tree yet.
|
330
|
-
#
|
331
|
-
def gem_declarations
|
332
|
-
@gem_declarations ||= begin
|
333
|
-
Bundler.with_clean_env do
|
334
|
-
# Set BUNDLE_GEMFILE to the new gemfile temporarily so all bundler's things work
|
335
|
-
# This works around some issues in bundler 1.11.2.
|
336
|
-
ENV["BUNDLE_GEMFILE"] = gemfile_path
|
337
|
-
|
338
|
-
parsed_gemfile = Bundler::Dsl.new
|
339
|
-
parsed_gemfile.eval_gemfile(gemfile_path)
|
340
|
-
parsed_gemfile.complete_overrides if parsed_gemfile.respond_to?(:complete_overrides)
|
341
|
-
|
342
|
-
result = {}
|
343
|
-
parsed_gemfile.dependencies.each do |dep|
|
344
|
-
groups = dep.groups.empty? ? [:default] : dep.groups
|
345
|
-
result[dep.name] = { groups: groups, platforms: dep.platforms }
|
346
|
-
end
|
347
|
-
result
|
348
|
-
end
|
349
|
-
end
|
350
|
-
end
|
351
|
-
|
352
|
-
private
|
353
|
-
|
354
|
-
#
|
355
|
-
# Given a bunch of locks (name -> { dependencies: [name,name] }) and a
|
356
|
-
# dependency name, add its dependencies to the result transitively.
|
357
|
-
#
|
358
|
-
def transitive_dependencies(locks, name, dep_key, result = Set.new)
|
359
|
-
locks[name][dep_key].each do |dep|
|
360
|
-
# Only ever add a dep once, so we don't infinitely recurse
|
361
|
-
if result.add?(dep)
|
362
|
-
transitive_dependencies(locks, dep, dep_key, result)
|
363
|
-
end
|
364
|
-
end
|
365
|
-
result
|
366
|
-
end
|
367
|
-
|
368
|
-
#
|
369
|
-
# Get source and version metadata for the given Bundler spec (coming from a lockfile).
|
370
|
-
#
|
371
|
-
# @return Hash { version: <version>, git: <git>, path: <path>, source: <source>, ref: <ref> }
|
372
|
-
#
|
373
|
-
def lock_source_metadata(spec)
|
374
|
-
# Copy source information from included Gemfile
|
375
|
-
result = {}
|
376
|
-
case spec.source
|
377
|
-
when Bundler::Source::Rubygems
|
378
|
-
result[:source] = spec.source.remotes.first.to_s
|
379
|
-
when Bundler::Source::Git
|
380
|
-
result[:git] = spec.source.uri.to_s
|
381
|
-
result[:ref] = spec.source.revision
|
382
|
-
when Bundler::Source::Path
|
383
|
-
result[:path] = spec.source.path.to_s
|
384
|
-
else
|
385
|
-
raise "Unknown source #{spec.source} for gem #{spec.name}"
|
386
|
-
end
|
387
|
-
result
|
388
|
-
end
|
389
|
-
end
|
390
|
-
end
|
1
|
+
require "rubygems"
|
2
|
+
require "bundler"
|
3
|
+
require "shellwords"
|
4
|
+
require "set"
|
5
|
+
|
6
|
+
module GemfileUtil
|
7
|
+
#
|
8
|
+
# Adds `override: true`, which allows your statement to override any other
|
9
|
+
# gem statement about the same gem in the Gemfile.
|
10
|
+
#
|
11
|
+
def gem(name, *args)
|
12
|
+
options = args[-1].is_a?(Hash) ? args[-1] : {}
|
13
|
+
|
14
|
+
# Unless we're finished with everything, ignore gems that are being overridden
|
15
|
+
unless overridden_gems == :finished
|
16
|
+
# If it's a path or override gem, it overrides whatever else is there.
|
17
|
+
if options[:path] || options[:override]
|
18
|
+
options.delete(:override)
|
19
|
+
warn_if_replacing(name, overridden_gems[name], args)
|
20
|
+
overridden_gems[name] = args
|
21
|
+
return
|
22
|
+
|
23
|
+
# If there's an override gem, and we're *not* an override gem, don't do anything
|
24
|
+
elsif overridden_gems[name]
|
25
|
+
warn_if_replacing(name, args, overridden_gems[name])
|
26
|
+
return
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# Otherwise, add the gem normally
|
31
|
+
super
|
32
|
+
rescue
|
33
|
+
puts $!.backtrace
|
34
|
+
raise
|
35
|
+
end
|
36
|
+
|
37
|
+
def overridden_gems
|
38
|
+
@overridden_gems ||= {}
|
39
|
+
end
|
40
|
+
|
41
|
+
#
|
42
|
+
# Just before we finish the Gemfile, finish up the override gems
|
43
|
+
#
|
44
|
+
def to_definition(*args)
|
45
|
+
complete_overrides
|
46
|
+
super
|
47
|
+
end
|
48
|
+
|
49
|
+
def complete_overrides
|
50
|
+
to_override = overridden_gems
|
51
|
+
unless to_override == :finished
|
52
|
+
@overridden_gems = :finished
|
53
|
+
to_override.each do |name, args|
|
54
|
+
gem name, *args
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
#
|
60
|
+
# Include all gems in the locked gemfile.
|
61
|
+
#
|
62
|
+
# @param gemfile_path Path to the Gemfile to load (relative to your Gemfile)
|
63
|
+
# @param lockfile_path Path to the Gemfile to load (relative to your Gemfile).
|
64
|
+
# Defaults to <gemfile_path>.lock.
|
65
|
+
# @param groups A list of groups to include (whitelist). If not passed (or set
|
66
|
+
# to nil), all gems will be selected.
|
67
|
+
# @param without_groups A list of groups to ignore. Gems will be excluded from
|
68
|
+
# the results if all groups they belong to are ignored. This matches
|
69
|
+
# bundler's `without` behavior.
|
70
|
+
# @param gems A list of gems to include above and beyond the given groups.
|
71
|
+
# Gems in this list must be explicitly included in the Gemfile
|
72
|
+
# with a `gem "gem_name", ...` line or they will be silently
|
73
|
+
# ignored.
|
74
|
+
# @param copy_groups Whether to copy the groups over from the old lockfile to
|
75
|
+
# the new. Use this when the new lockfile has the same convention for
|
76
|
+
# groups as the old. Defaults to `false`.
|
77
|
+
#
|
78
|
+
def include_locked_gemfile(gemfile_path, lockfile_path = "#{gemfile_path}.lock", groups: nil, without_groups: nil, gems: [], copy_groups: false)
|
79
|
+
# Parse the desired lockfile
|
80
|
+
gemfile_path = Pathname.new(gemfile_path).expand_path(Bundler.default_gemfile.dirname).realpath
|
81
|
+
lockfile_path = Pathname.new(lockfile_path).expand_path(Bundler.default_gemfile.dirname).realpath
|
82
|
+
|
83
|
+
# Calculate relative_to
|
84
|
+
relative_to = Bundler.default_gemfile.dirname.realpath
|
85
|
+
|
86
|
+
# Call out to create-override-gemfile to read the Gemfile+Gemfile.lock (bundler does not work well if you do two things in one process)
|
87
|
+
create_override_gemfile_bin = File.expand_path("../bin/create-override-gemfile", __FILE__)
|
88
|
+
arguments = [
|
89
|
+
"--gemfile", gemfile_path,
|
90
|
+
"--lockfile", lockfile_path,
|
91
|
+
"--override"
|
92
|
+
]
|
93
|
+
arguments += [ "--relative-to", relative_to ] if relative_to != "."
|
94
|
+
arguments += Array(groups).flat_map { |group| [ "--group", group ] }
|
95
|
+
arguments += Array(without_groups).flat_map { |without| [ "--without", without ] }
|
96
|
+
arguments += Array(gems).flat_map { |name| [ "--gem", name ] }
|
97
|
+
arguments << "--copy-groups" if copy_groups
|
98
|
+
cmd = Shellwords.join([ Gem.ruby, "-S", create_override_gemfile_bin, *arguments ])
|
99
|
+
output = nil
|
100
|
+
Bundler.ui.info("> #{cmd}")
|
101
|
+
Bundler.with_clean_env do
|
102
|
+
output = `#{cmd}`
|
103
|
+
end
|
104
|
+
instance_eval(output, cmd, 1)
|
105
|
+
end
|
106
|
+
|
107
|
+
#
|
108
|
+
# Include all gems in the locked gemfile.
|
109
|
+
#
|
110
|
+
# @param current_gemfile The Gemfile you are currently loading (`self`).
|
111
|
+
# @param gemfile_path Path to the Gemfile to load (relative to your Gemfile)
|
112
|
+
# @param lockfile_path Path to the Gemfile to load (relative to your Gemfile).
|
113
|
+
# Defaults to <gemfile_path>.lock.
|
114
|
+
# @param groups A list of groups to include (whitelist). If not passed (or set
|
115
|
+
# to nil), all gems will be selected.
|
116
|
+
# @param without_groups A list of groups to ignore. Gems will be excluded from
|
117
|
+
# the results if all groups they belong to are ignored. This matches
|
118
|
+
# bundler's `without` behavior.
|
119
|
+
# @param gems A list of gems to include above and beyond the given groups.
|
120
|
+
# Gems in this list must be explicitly included in the Gemfile
|
121
|
+
# with a `gem "gem_name", ...` line or they will be silently
|
122
|
+
# ignored.
|
123
|
+
# @param copy_groups Whether to copy the groups over from the old lockfile to
|
124
|
+
# the new. Use this when the new lockfile has the same convention for
|
125
|
+
# groups as the old. Defaults to `false`.
|
126
|
+
#
|
127
|
+
def self.include_locked_gemfile(current_gemfile, gemfile_path, lockfile_path = "#{gemfile_path}.lock", groups: nil, without_groups: nil, gems: [], copy_groups: false)
|
128
|
+
current_gemfile.instance_eval do
|
129
|
+
extend GemfileUtil
|
130
|
+
include_locked_gemfile(gemfile_path, lockfile_path, groups: groups, without_groups: without_groups, gems: gems, copy_groups: copy_groups)
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
def warn_if_replacing(name, old_args, new_args)
|
135
|
+
return if !old_args || !new_args
|
136
|
+
if args_to_dep(name, *old_args) =~ args_to_dep(name, *new_args)
|
137
|
+
Bundler.ui.debug "Replaced Gemfile dependency #{name} (#{old_args}) with (#{new_args})"
|
138
|
+
else
|
139
|
+
Bundler.ui.warn "Replaced Gemfile dependency #{name} (#{old_args}) with (#{new_args})"
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
def args_to_dep(name, *version, **options)
|
144
|
+
version = [">= 0"] if version.empty?
|
145
|
+
Bundler::Dependency.new(name, version, options)
|
146
|
+
end
|
147
|
+
|
148
|
+
#
|
149
|
+
# Reads a bundle, including a gemfile and lockfile.
|
150
|
+
#
|
151
|
+
# Does no validation, does not update the lockfile or its gems in any way.
|
152
|
+
#
|
153
|
+
class Bundle
|
154
|
+
#
|
155
|
+
# Parse the given gemfile/lockfile pair.
|
156
|
+
#
|
157
|
+
# @return [Bundle] The parsed bundle.
|
158
|
+
#
|
159
|
+
def self.parse(gemfile_path, lockfile_path = "#{gemfile_path}.lock")
|
160
|
+
result = new(gemfile_path, lockfile_path)
|
161
|
+
result.gems
|
162
|
+
result
|
163
|
+
end
|
164
|
+
|
165
|
+
#
|
166
|
+
# Create a new Bundle to parse the given gemfile/lockfile pair.
|
167
|
+
#
|
168
|
+
def initialize(gemfile_path, lockfile_path = "#{gemfile_path}.lock")
|
169
|
+
@gemfile_path = gemfile_path
|
170
|
+
@lockfile_path = lockfile_path
|
171
|
+
end
|
172
|
+
|
173
|
+
#
|
174
|
+
# The path to the Gemfile
|
175
|
+
#
|
176
|
+
attr_reader :gemfile_path
|
177
|
+
|
178
|
+
#
|
179
|
+
# The path to the Lockfile
|
180
|
+
#
|
181
|
+
attr_reader :lockfile_path
|
182
|
+
|
183
|
+
#
|
184
|
+
# The list of gems.
|
185
|
+
#
|
186
|
+
# @return [Hash<String, Hash>] The resulting gems, where key = gem_name, and the
|
187
|
+
# hash has:
|
188
|
+
# - version: version of the gem.
|
189
|
+
# - source info (:source/:git/:ref/:path) from the lockfile
|
190
|
+
# - dependencies: A list of gem names this gem has a runtime
|
191
|
+
# dependency on. Dependencies are transitive: if A depends on B,
|
192
|
+
# and B depends on C, then A has C in its :dependencies list.
|
193
|
+
# - development_dependencies: - A list of gem names this gem has a
|
194
|
+
# development dependency on. Dependencies are transitive: if A
|
195
|
+
# depends on B, and B depends on C, then A has C in its
|
196
|
+
# :development_dependencies list. development dependencies *include*
|
197
|
+
# runtime dependencies.
|
198
|
+
# - groups: The list of groups (symbols) this gem is in. Groups
|
199
|
+
# are transitive: if A has a runtime dependency on B, and A is
|
200
|
+
# in group X, then B is also in group X.
|
201
|
+
# - declared_groups: The list of groups (symbols) this gem was
|
202
|
+
# declared in the Gemfile.
|
203
|
+
#
|
204
|
+
def gems
|
205
|
+
@gems ||= begin
|
206
|
+
gems = locks.dup
|
207
|
+
gems.each do |name, g|
|
208
|
+
if gem_declarations.has_key?(name)
|
209
|
+
g[:declared_groups] = gem_declarations[name][:groups]
|
210
|
+
else
|
211
|
+
g[:declared_groups] = []
|
212
|
+
end
|
213
|
+
g[:groups] = g[:declared_groups].dup
|
214
|
+
end
|
215
|
+
# Transitivize groups (since dependencies are already transitive, this is easy)
|
216
|
+
gems.each do |name, g|
|
217
|
+
g[:dependencies].each do |dep|
|
218
|
+
gems[dep][:groups] |= gems[name][:declared_groups].dup
|
219
|
+
end
|
220
|
+
end
|
221
|
+
gems
|
222
|
+
end
|
223
|
+
end
|
224
|
+
|
225
|
+
#
|
226
|
+
# Get the gems (and their deps) in the given group.
|
227
|
+
#
|
228
|
+
# @param groups A list of groups to include (whitelist). If not passed (or set
|
229
|
+
# to nil), all gems will be selected.
|
230
|
+
# @param without_groups A list of groups to ignore. Gems will be excluded from
|
231
|
+
# the results if all groups they belong to are ignored.
|
232
|
+
# This matches bundler's `without` behavior.
|
233
|
+
# @param gems A list of gems to include regardless of what groups are included.
|
234
|
+
#
|
235
|
+
# @return Hash[String, Hash] The resulting gems, where key = gem_name, and the
|
236
|
+
# hash has:
|
237
|
+
# - version: version of the gem.
|
238
|
+
# - source info (:source/:git/:ref/:path) from the lockfile
|
239
|
+
# - dependencies: A list of gem names this gem has a runtime
|
240
|
+
# dependency on. Dependencies are transitive: if A depends on B,
|
241
|
+
# and B depends on C, then A has C in its :dependencies list.
|
242
|
+
# - development_dependencies: - A list of gem names this gem has a
|
243
|
+
# development dependency on. Dependencies are transitive: if A
|
244
|
+
# depends on B, and B depends on C, then A has C in its
|
245
|
+
# :development_dependencies list. development dependencies
|
246
|
+
# *include* runtime dependencies.
|
247
|
+
# - groups: The list of groups (symbols) this gem is in. Groups
|
248
|
+
# are transitive: if A has a runtime dependency on B, and A is
|
249
|
+
# in group X, then B is also in group X.
|
250
|
+
# - declared_groups: The list of groups (symbols) this gem was
|
251
|
+
# declared in the Gemfile.
|
252
|
+
#
|
253
|
+
def select_gems(groups: nil, without_groups: nil)
|
254
|
+
# First, select the gems that match
|
255
|
+
result = {}
|
256
|
+
gems.each do |name, g|
|
257
|
+
dep_groups = g[:declared_groups] - [ :only_a_runtime_dependency_of_other_gems ]
|
258
|
+
dep_groups &= groups if groups
|
259
|
+
dep_groups -= without_groups if without_groups
|
260
|
+
if dep_groups.any?
|
261
|
+
result[name] ||= g
|
262
|
+
g[:dependencies].each do |dep|
|
263
|
+
result[dep] ||= gems[dep]
|
264
|
+
end
|
265
|
+
end
|
266
|
+
end
|
267
|
+
result
|
268
|
+
end
|
269
|
+
|
270
|
+
#
|
271
|
+
# Get all locks from the given lockfile.
|
272
|
+
#
|
273
|
+
# @return Hash[String, Hash] The resulting gems, where key = gem_name, and the
|
274
|
+
# hash has:
|
275
|
+
# - version: version of the gem.
|
276
|
+
# - source info (:source/:git/:ref/:path)
|
277
|
+
# - dependencies: A list of gem names this gem has a runtime
|
278
|
+
# dependency on. Dependencies are transitive: if A depends on B,
|
279
|
+
# and B depends on C, then A has C in its :dependencies list.
|
280
|
+
# - development_dependencies: - A list of gem names this gem has a
|
281
|
+
# development dependency on. Dependencies are transitive: if A
|
282
|
+
# depends on B, and B depends on C, then A has C in its
|
283
|
+
# :development_dependencies list. development dependencies *include*
|
284
|
+
# runtime dependencies.
|
285
|
+
#
|
286
|
+
def locks
|
287
|
+
@locks ||= begin
|
288
|
+
# Grab all the specs from the lockfile
|
289
|
+
locks = {}
|
290
|
+
parsed_lockfile = Bundler::LockfileParser.new(IO.read(lockfile_path))
|
291
|
+
parsed_lockfile.specs.each do |spec|
|
292
|
+
# Never include bundler, it can't be bundled and doesn't put itself in
|
293
|
+
# the lockfile correctly anyway
|
294
|
+
next if spec.name == "bundler"
|
295
|
+
# Only the platform-specific locks for now (TODO make it possible to emit all locks)
|
296
|
+
next if spec.platform && spec.platform != Gem::Platform::RUBY
|
297
|
+
lock = lock_source_metadata(spec)
|
298
|
+
lock[:version] = spec.version.to_s
|
299
|
+
runtime = spec.dependencies.select { |dep| dep.type == :runtime }
|
300
|
+
lock[:dependencies] = Set.new(runtime.map { |dep| dep.name })
|
301
|
+
lock[:development_dependencies] = Set.new(spec.dependencies.map { |dep| dep.name })
|
302
|
+
lock[:dependencies].delete("bundler")
|
303
|
+
lock[:development_dependencies].delete("bundler")
|
304
|
+
locks[spec.name] = lock
|
305
|
+
end
|
306
|
+
|
307
|
+
# Transitivize the deps.
|
308
|
+
locks.each do |name, lock|
|
309
|
+
# Not all deps were brought over (platform-specific ones) so weed them out
|
310
|
+
lock[:dependencies] &= locks.keys
|
311
|
+
lock[:development_dependencies] &= locks.keys
|
312
|
+
|
313
|
+
lock[:dependencies] = transitive_dependencies(locks, name, :dependencies)
|
314
|
+
lock[:development_dependencies] = transitive_dependencies(locks, name, :development_dependencies)
|
315
|
+
end
|
316
|
+
|
317
|
+
locks
|
318
|
+
end
|
319
|
+
end
|
320
|
+
|
321
|
+
#
|
322
|
+
# Get all desired gems, sans dependencies, from the gemfile.
|
323
|
+
#
|
324
|
+
# @param gemfile Path to the Gemfile to load
|
325
|
+
#
|
326
|
+
# @return Hash<String, Hash> An array of hashes where key = gem name and value
|
327
|
+
# has :groups (an array of symbols representing the groups the gem
|
328
|
+
# is in). :groups are not transitive, since we don't know the
|
329
|
+
# dependency tree yet.
|
330
|
+
#
|
331
|
+
def gem_declarations
|
332
|
+
@gem_declarations ||= begin
|
333
|
+
Bundler.with_clean_env do
|
334
|
+
# Set BUNDLE_GEMFILE to the new gemfile temporarily so all bundler's things work
|
335
|
+
# This works around some issues in bundler 1.11.2.
|
336
|
+
ENV["BUNDLE_GEMFILE"] = gemfile_path
|
337
|
+
|
338
|
+
parsed_gemfile = Bundler::Dsl.new
|
339
|
+
parsed_gemfile.eval_gemfile(gemfile_path)
|
340
|
+
parsed_gemfile.complete_overrides if parsed_gemfile.respond_to?(:complete_overrides)
|
341
|
+
|
342
|
+
result = {}
|
343
|
+
parsed_gemfile.dependencies.each do |dep|
|
344
|
+
groups = dep.groups.empty? ? [:default] : dep.groups
|
345
|
+
result[dep.name] = { groups: groups, platforms: dep.platforms }
|
346
|
+
end
|
347
|
+
result
|
348
|
+
end
|
349
|
+
end
|
350
|
+
end
|
351
|
+
|
352
|
+
private
|
353
|
+
|
354
|
+
#
|
355
|
+
# Given a bunch of locks (name -> { dependencies: [name,name] }) and a
|
356
|
+
# dependency name, add its dependencies to the result transitively.
|
357
|
+
#
|
358
|
+
def transitive_dependencies(locks, name, dep_key, result = Set.new)
|
359
|
+
locks[name][dep_key].each do |dep|
|
360
|
+
# Only ever add a dep once, so we don't infinitely recurse
|
361
|
+
if result.add?(dep)
|
362
|
+
transitive_dependencies(locks, dep, dep_key, result)
|
363
|
+
end
|
364
|
+
end
|
365
|
+
result
|
366
|
+
end
|
367
|
+
|
368
|
+
#
|
369
|
+
# Get source and version metadata for the given Bundler spec (coming from a lockfile).
|
370
|
+
#
|
371
|
+
# @return Hash { version: <version>, git: <git>, path: <path>, source: <source>, ref: <ref> }
|
372
|
+
#
|
373
|
+
def lock_source_metadata(spec)
|
374
|
+
# Copy source information from included Gemfile
|
375
|
+
result = {}
|
376
|
+
case spec.source
|
377
|
+
when Bundler::Source::Rubygems
|
378
|
+
result[:source] = spec.source.remotes.first.to_s
|
379
|
+
when Bundler::Source::Git
|
380
|
+
result[:git] = spec.source.uri.to_s
|
381
|
+
result[:ref] = spec.source.revision
|
382
|
+
when Bundler::Source::Path
|
383
|
+
result[:path] = spec.source.path.to_s
|
384
|
+
else
|
385
|
+
raise "Unknown source #{spec.source} for gem #{spec.name}"
|
386
|
+
end
|
387
|
+
result
|
388
|
+
end
|
389
|
+
end
|
390
|
+
end
|