cookstyle 6.21.1 → 7.3.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (231) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -6
  3. data/config/cookstyle.yml +304 -249
  4. data/config/disable_all.yml +32 -0
  5. data/config/upstream.yml +271 -80
  6. data/lib/cookstyle/version.rb +2 -2
  7. data/lib/rubocop/cop/chef/correctness/block_guard_clause_string_only.rb +1 -1
  8. data/lib/rubocop/cop/chef/correctness/chef_application_fatal.rb +1 -1
  9. data/lib/rubocop/cop/chef/correctness/conditional_ruby_shellout.rb +1 -1
  10. data/lib/rubocop/cop/chef/correctness/dnf_package_allow_downgrades.rb +1 -1
  11. data/lib/rubocop/cop/chef/correctness/incorrect_library_injection.rb +1 -1
  12. data/lib/rubocop/cop/chef/correctness/invalid_default_action.rb +1 -1
  13. data/lib/rubocop/cop/chef/correctness/invalid_notification_timing.rb +1 -1
  14. data/lib/rubocop/cop/chef/correctness/invalid_platform_family_helper.rb +1 -1
  15. data/lib/rubocop/cop/chef/correctness/invalid_platform_family_values_in_case.rb +1 -1
  16. data/lib/rubocop/cop/chef/correctness/invalid_platform_helper.rb +1 -1
  17. data/lib/rubocop/cop/chef/correctness/invalid_platform_metadata.rb +1 -1
  18. data/lib/rubocop/cop/chef/correctness/invalid_platform_values_in_case.rb +1 -1
  19. data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_family_helper.rb +1 -1
  20. data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_helper.rb +1 -1
  21. data/lib/rubocop/cop/chef/correctness/invalid_version_metadata.rb +1 -1
  22. data/lib/rubocop/cop/chef/correctness/lazy_eval_node_attribute_defaults.rb +1 -1
  23. data/lib/rubocop/cop/chef/correctness/lazy_in_resource_guard.rb +1 -1
  24. data/lib/rubocop/cop/chef/correctness/macos_userdefaults_invalid_type.rb +1 -1
  25. data/lib/rubocop/cop/chef/correctness/malformed_value_for_platform.rb +1 -1
  26. data/lib/rubocop/cop/chef/correctness/metadata_missing_name.rb +1 -1
  27. data/lib/rubocop/cop/chef/correctness/node_normal.rb +1 -1
  28. data/lib/rubocop/cop/chef/correctness/node_normal_unless.rb +1 -1
  29. data/lib/rubocop/cop/chef/correctness/node_save.rb +1 -1
  30. data/lib/rubocop/cop/chef/correctness/notifies_action_not_symbol.rb +1 -1
  31. data/lib/rubocop/cop/chef/correctness/octal_mode_as_string.rb +1 -1
  32. data/lib/rubocop/cop/chef/correctness/openssl_password_helpers.rb +1 -1
  33. data/lib/rubocop/cop/chef/correctness/powershell_delete_file.rb +1 -1
  34. data/lib/rubocop/cop/chef/correctness/property_without_type.rb +1 -1
  35. data/lib/rubocop/cop/chef/correctness/resource_sets_internal_properties.rb +1 -1
  36. data/lib/rubocop/cop/chef/correctness/resource_sets_name_property.rb +1 -1
  37. data/lib/rubocop/cop/chef/correctness/resource_with_none_action.rb +1 -1
  38. data/lib/rubocop/cop/chef/correctness/scoped_file_exist.rb +1 -1
  39. data/lib/rubocop/cop/chef/correctness/service_resource.rb +1 -1
  40. data/lib/rubocop/cop/chef/correctness/supports_must_be_float.rb +1 -1
  41. data/lib/rubocop/cop/chef/correctness/tmp_path.rb +1 -1
  42. data/lib/rubocop/cop/chef/deprecation/ use_automatic_resource_name.rb +1 -1
  43. data/lib/rubocop/cop/chef/deprecation/cb_depends_on_self.rb +1 -1
  44. data/lib/rubocop/cop/chef/deprecation/chef_handler_recipe.rb +1 -1
  45. data/lib/rubocop/cop/chef/deprecation/chef_handler_supports.rb +1 -1
  46. data/lib/rubocop/cop/chef/deprecation/chef_rest.rb +1 -1
  47. data/lib/rubocop/cop/chef/deprecation/chef_rewind.rb +1 -1
  48. data/lib/rubocop/cop/chef/deprecation/chef_shellout.rb +1 -1
  49. data/lib/rubocop/cop/chef/deprecation/chef_sugar_helpers.rb +56 -0
  50. data/lib/rubocop/cop/chef/deprecation/chef_windows_platform_helper.rb +1 -1
  51. data/lib/rubocop/cop/chef/deprecation/chefdk_generators.rb +1 -1
  52. data/lib/rubocop/cop/chef/deprecation/cheffile.rb +1 -1
  53. data/lib/rubocop/cop/chef/deprecation/chefspec_coverage_report.rb +1 -1
  54. data/lib/rubocop/cop/chef/deprecation/chefspec_legacy_runner.rb +1 -1
  55. data/lib/rubocop/cop/chef/deprecation/chocolatey_package_uninstall_action.rb +1 -1
  56. data/lib/rubocop/cop/chef/deprecation/depends_compat_resource.rb +1 -1
  57. data/lib/rubocop/cop/chef/deprecation/depends_partial_search.rb +1 -1
  58. data/lib/rubocop/cop/chef/deprecation/depends_poise.rb +1 -1
  59. data/lib/rubocop/cop/chef/deprecation/deprecated_chefspec_platform.rb +3 -4
  60. data/lib/rubocop/cop/chef/deprecation/deprecated_mixins.rb +1 -1
  61. data/lib/rubocop/cop/chef/deprecation/deprecated_platform_methods.rb +1 -1
  62. data/lib/rubocop/cop/chef/deprecation/deprecated_shellout_methods.rb +1 -1
  63. data/lib/rubocop/cop/chef/deprecation/deprecated_windows_version_check.rb +1 -1
  64. data/lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_actions.rb +67 -0
  65. data/lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_properties.rb +1 -1
  66. data/lib/rubocop/cop/chef/deprecation/easy_install.rb +1 -1
  67. data/lib/rubocop/cop/chef/deprecation/eol_audit_mode.rb +1 -1
  68. data/lib/rubocop/cop/chef/deprecation/epic_fail.rb +1 -1
  69. data/lib/rubocop/cop/chef/deprecation/erl_call.rb +1 -1
  70. data/lib/rubocop/cop/chef/deprecation/execute_path_property.rb +1 -1
  71. data/lib/rubocop/cop/chef/deprecation/execute_relative_creates_without_cwd.rb +1 -1
  72. data/lib/rubocop/cop/chef/deprecation/foodcritic_testing.rb +43 -0
  73. data/lib/rubocop/cop/chef/deprecation/hwrp_without_provides.rb +1 -1
  74. data/lib/rubocop/cop/chef/deprecation/inherits_compat_resource.rb +1 -1
  75. data/lib/rubocop/cop/chef/deprecation/launchd_deprecated_hash_property.rb +1 -1
  76. data/lib/rubocop/cop/chef/deprecation/legacy_notify_syntax.rb +1 -1
  77. data/lib/rubocop/cop/chef/deprecation/legacy_yum_cookbook_recipes.rb +1 -1
  78. data/lib/rubocop/cop/chef/deprecation/librarian_chefspec.rb +42 -0
  79. data/lib/rubocop/cop/chef/deprecation/locale_lc_all_property.rb +1 -1
  80. data/lib/rubocop/cop/chef/deprecation/log_resource_notifications.rb +3 -3
  81. data/lib/rubocop/cop/chef/deprecation/macos_userdefaults_global_property.rb +1 -1
  82. data/lib/rubocop/cop/chef/deprecation/name_property_and_default.rb +1 -1
  83. data/lib/rubocop/cop/chef/deprecation/node_deep_fetch.rb +1 -1
  84. data/lib/rubocop/cop/chef/deprecation/node_methods_not_attributes.rb +1 -1
  85. data/lib/rubocop/cop/chef/deprecation/node_set.rb +1 -1
  86. data/lib/rubocop/cop/chef/deprecation/node_set_unless.rb +1 -1
  87. data/lib/rubocop/cop/chef/deprecation/node_set_without_level.rb +1 -1
  88. data/lib/rubocop/cop/chef/deprecation/partial_search_class_usage.rb +1 -1
  89. data/lib/rubocop/cop/chef/deprecation/partial_search_helper_usage.rb +1 -1
  90. data/lib/rubocop/cop/chef/deprecation/poise_archive.rb +1 -1
  91. data/lib/rubocop/cop/chef/deprecation/powershell_cookbook_helpers.rb +1 -1
  92. data/lib/rubocop/cop/chef/deprecation/require_recipe.rb +1 -1
  93. data/lib/rubocop/cop/chef/deprecation/resource_overrides_provides_method.rb +1 -1
  94. data/lib/rubocop/cop/chef/deprecation/resource_uses_dsl_name_method.rb +1 -1
  95. data/lib/rubocop/cop/chef/deprecation/resource_uses_only_resource_name.rb +1 -1
  96. data/lib/rubocop/cop/chef/deprecation/resource_uses_provider_base_method.rb +1 -1
  97. data/lib/rubocop/cop/chef/deprecation/resource_uses_updated_method.rb +1 -1
  98. data/lib/rubocop/cop/chef/deprecation/ruby_27_keyword_argument_warnings.rb +1 -1
  99. data/lib/rubocop/cop/chef/deprecation/ruby_block_create_action.rb +1 -1
  100. data/lib/rubocop/cop/chef/deprecation/run_command_helper.rb +1 -1
  101. data/lib/rubocop/cop/chef/deprecation/search_uses_positional_parameters.rb +1 -1
  102. data/lib/rubocop/cop/chef/deprecation/use_inline_resources.rb +1 -1
  103. data/lib/rubocop/cop/chef/deprecation/use_yaml_dump.rb +1 -1
  104. data/lib/rubocop/cop/chef/deprecation/user_supports_property.rb +1 -1
  105. data/lib/rubocop/cop/chef/deprecation/verify_property_file_expansion.rb +1 -1
  106. data/lib/rubocop/cop/chef/deprecation/windows_feature_servermanagercmd.rb +1 -1
  107. data/lib/rubocop/cop/chef/deprecation/windows_package_installer_type_string.rb +1 -1
  108. data/lib/rubocop/cop/chef/deprecation/windows_task_change_action.rb +1 -1
  109. data/lib/rubocop/cop/chef/deprecation/windows_version_helpers.rb +1 -1
  110. data/lib/rubocop/cop/chef/deprecation/xml_ruby_recipe.rb +1 -1
  111. data/lib/rubocop/cop/chef/deprecation/yum_dnf_compat_recipe.rb +1 -1
  112. data/lib/rubocop/cop/chef/effortless/berksfile.rb +1 -1
  113. data/lib/rubocop/cop/chef/effortless/chef_vault_used.rb +1 -1
  114. data/lib/rubocop/cop/chef/effortless/data_bags.rb +1 -1
  115. data/lib/rubocop/cop/chef/effortless/depends_chef_vault.rb +1 -1
  116. data/lib/rubocop/cop/chef/effortless/node_environment.rb +1 -1
  117. data/lib/rubocop/cop/chef/effortless/node_policygroup.rb +1 -1
  118. data/lib/rubocop/cop/chef/effortless/node_roles.rb +1 -1
  119. data/lib/rubocop/cop/chef/effortless/search_for_environments_or_roles.rb +1 -1
  120. data/lib/rubocop/cop/chef/effortless/search_used.rb +1 -1
  121. data/lib/rubocop/cop/chef/modernize/action_method_in_resource.rb +1 -1
  122. data/lib/rubocop/cop/chef/modernize/allowed_actions_initializer.rb +1 -1
  123. data/lib/rubocop/cop/chef/modernize/apt_default_recipe.rb +1 -1
  124. data/lib/rubocop/cop/chef/modernize/berksfile_source.rb +1 -1
  125. data/lib/rubocop/cop/chef/modernize/build_essential.rb +1 -1
  126. data/lib/rubocop/cop/chef/modernize/chef_14_resources.rb +1 -1
  127. data/lib/rubocop/cop/chef/modernize/chef_gem_nokogiri.rb +1 -1
  128. data/lib/rubocop/cop/chef/modernize/compile_time_resources.rb +1 -1
  129. data/lib/rubocop/cop/chef/modernize/conditional_using_test.rb +1 -1
  130. data/lib/rubocop/cop/chef/modernize/cron_d_file_or_template.rb +1 -1
  131. data/lib/rubocop/cop/chef/modernize/cron_manage_resource.rb +1 -1
  132. data/lib/rubocop/cop/chef/modernize/databag_helpers.rb +1 -1
  133. data/lib/rubocop/cop/chef/modernize/default_action_initializer.rb +1 -1
  134. data/lib/rubocop/cop/chef/modernize/defines_chefspec_matchers.rb +1 -1
  135. data/lib/rubocop/cop/chef/modernize/definitions.rb +1 -1
  136. data/lib/rubocop/cop/chef/modernize/depends_zypper_cookbook.rb +1 -1
  137. data/lib/rubocop/cop/chef/modernize/dsl_include_in_resource.rb +1 -1
  138. data/lib/rubocop/cop/chef/modernize/empty_resource_initialize.rb +1 -1
  139. data/lib/rubocop/cop/chef/modernize/execute_apt_update.rb +1 -1
  140. data/lib/rubocop/cop/chef/modernize/execute_sc_exe.rb +1 -1
  141. data/lib/rubocop/cop/chef/modernize/execute_sleep.rb +1 -1
  142. data/lib/rubocop/cop/chef/modernize/execute_sysctl.rb +1 -1
  143. data/lib/rubocop/cop/chef/modernize/execute_tzutil.rb +1 -1
  144. data/lib/rubocop/cop/chef/modernize/foodcritic_comments.rb +1 -1
  145. data/lib/rubocop/cop/chef/modernize/if_provides_default_action.rb +1 -1
  146. data/lib/rubocop/cop/chef/modernize/includes_mixin_shellout.rb +1 -1
  147. data/lib/rubocop/cop/chef/modernize/libarchive_file.rb +1 -1
  148. data/lib/rubocop/cop/chef/modernize/macos_user_defaults.rb +1 -1
  149. data/lib/rubocop/cop/chef/modernize/minitest_handler_usage.rb +1 -1
  150. data/lib/rubocop/cop/chef/modernize/node_init_package.rb +1 -1
  151. data/lib/rubocop/cop/chef/modernize/node_roles_include.rb +1 -1
  152. data/lib/rubocop/cop/chef/modernize/ohai_default_recipe.rb +1 -1
  153. data/lib/rubocop/cop/chef/modernize/openssl_rsa_key_resource.rb +1 -1
  154. data/lib/rubocop/cop/chef/modernize/openssl_x509_resource.rb +1 -1
  155. data/lib/rubocop/cop/chef/modernize/osx_config_profile_resource.rb +1 -1
  156. data/lib/rubocop/cop/chef/modernize/powershell_expand_archive.rb +1 -1
  157. data/lib/rubocop/cop/chef/modernize/powershell_guard_interpreter.rb +1 -1
  158. data/lib/rubocop/cop/chef/modernize/powershell_install_package.rb +1 -1
  159. data/lib/rubocop/cop/chef/modernize/powershell_install_windowsfeature.rb +1 -1
  160. data/lib/rubocop/cop/chef/modernize/property_with_name_attribute.rb +1 -1
  161. data/lib/rubocop/cop/chef/modernize/provides_initializer.rb +1 -1
  162. data/lib/rubocop/cop/chef/modernize/resource_name_initializer.rb +1 -1
  163. data/lib/rubocop/cop/chef/modernize/resource_set_or_return.rb +1 -1
  164. data/lib/rubocop/cop/chef/modernize/resource_with_attributes.rb +1 -1
  165. data/lib/rubocop/cop/chef/modernize/respond_to_compile_time.rb +1 -1
  166. data/lib/rubocop/cop/chef/modernize/respond_to_metadata.rb +1 -1
  167. data/lib/rubocop/cop/chef/modernize/respond_to_provides.rb +1 -1
  168. data/lib/rubocop/cop/chef/modernize/respond_to_resource_name.rb +1 -1
  169. data/lib/rubocop/cop/chef/modernize/sc_windows_resource.rb +1 -1
  170. data/lib/rubocop/cop/chef/modernize/seven_zip_archive.rb +1 -1
  171. data/lib/rubocop/cop/chef/modernize/shell_out_helper.rb +1 -1
  172. data/lib/rubocop/cop/chef/modernize/shellouts_to_chocolatey.rb +1 -1
  173. data/lib/rubocop/cop/chef/modernize/simplify_apt_ppa_setup.rb +1 -1
  174. data/lib/rubocop/cop/chef/modernize/sysctl_param_resource.rb +1 -1
  175. data/lib/rubocop/cop/chef/modernize/unnecessary_mixlib_shellout_require.rb +1 -1
  176. data/lib/rubocop/cop/chef/modernize/use_multipackage_installs.rb +17 -13
  177. data/lib/rubocop/cop/chef/modernize/use_require_relative.rb +1 -1
  178. data/lib/rubocop/cop/chef/modernize/whyrun_supported_true.rb +1 -1
  179. data/lib/rubocop/cop/chef/modernize/windows_default_recipe.rb +1 -1
  180. data/lib/rubocop/cop/chef/modernize/windows_registry_uac.rb +4 -4
  181. data/lib/rubocop/cop/chef/modernize/windows_zipfile.rb +1 -1
  182. data/lib/rubocop/cop/chef/modernize/zipfile_resource.rb +1 -1
  183. data/lib/rubocop/cop/chef/modernize/zypper_repo.rb +1 -1
  184. data/lib/rubocop/cop/chef/redundant/apt_repository_distribution_default.rb +1 -1
  185. data/lib/rubocop/cop/chef/redundant/apt_repository_notifies_apt_update.rb +1 -1
  186. data/lib/rubocop/cop/chef/redundant/attribute_metadata.rb +1 -1
  187. data/lib/rubocop/cop/chef/redundant/conflicts_metadata.rb +1 -1
  188. data/lib/rubocop/cop/chef/redundant/custom_resource_with_allowed_actions.rb +1 -1
  189. data/lib/rubocop/cop/chef/redundant/double_compile_time.rb +1 -1
  190. data/lib/rubocop/cop/chef/redundant/grouping_metadata.rb +1 -1
  191. data/lib/rubocop/cop/chef/redundant/long_description_metadata.rb +1 -1
  192. data/lib/rubocop/cop/chef/redundant/multiple_platform_checks.rb +1 -1
  193. data/lib/rubocop/cop/chef/redundant/name_property_and_required.rb +1 -1
  194. data/lib/rubocop/cop/chef/redundant/ohai_attribute_to_string.rb +1 -1
  195. data/lib/rubocop/cop/chef/redundant/property_splat_regex.rb +1 -1
  196. data/lib/rubocop/cop/chef/redundant/property_with_default_and_required.rb +1 -1
  197. data/lib/rubocop/cop/chef/redundant/provides_metadata.rb +1 -1
  198. data/lib/rubocop/cop/chef/redundant/recipe_metadata.rb +1 -1
  199. data/lib/rubocop/cop/chef/redundant/replaces_metadata.rb +1 -1
  200. data/lib/rubocop/cop/chef/redundant/resource_with_nothing_action.rb +1 -1
  201. data/lib/rubocop/cop/chef/redundant/sensitive_property_in_resource.rb +1 -1
  202. data/lib/rubocop/cop/chef/redundant/string_property_with_nil_default.rb +1 -1
  203. data/lib/rubocop/cop/chef/redundant/suggests_metadata.rb +1 -1
  204. data/lib/rubocop/cop/chef/redundant/unnecessary_desired_state.rb +13 -12
  205. data/lib/rubocop/cop/chef/redundant/unnecessary_name_property.rb +1 -1
  206. data/lib/rubocop/cop/chef/redundant/use_create_if_missing.rb +1 -1
  207. data/lib/rubocop/cop/chef/sharing/default_maintainer_metadata.rb +1 -1
  208. data/lib/rubocop/cop/chef/sharing/empty_metadata_field.rb +1 -1
  209. data/lib/rubocop/cop/chef/sharing/include_property_descriptions.rb +1 -1
  210. data/lib/rubocop/cop/chef/sharing/include_resource_descriptions.rb +1 -1
  211. data/lib/rubocop/cop/chef/sharing/include_resource_examples.rb +1 -1
  212. data/lib/rubocop/cop/chef/sharing/insecure_cookbook_url.rb +1 -1
  213. data/lib/rubocop/cop/chef/sharing/invalid_license_string.rb +1 -1
  214. data/lib/rubocop/cop/chef/style/attribute_keys.rb +1 -1
  215. data/lib/rubocop/cop/chef/style/chef_whaaat.rb +1 -1
  216. data/lib/rubocop/cop/chef/style/comment_sentence_spacing.rb +2 -2
  217. data/lib/rubocop/cop/chef/style/comments_copyright_format.rb +4 -3
  218. data/lib/rubocop/cop/chef/style/comments_default_copyright.rb +1 -1
  219. data/lib/rubocop/cop/chef/style/comments_format.rb +1 -1
  220. data/lib/rubocop/cop/chef/style/file_mode.rb +1 -1
  221. data/lib/rubocop/cop/chef/style/immediate_notification_timing.rb +1 -1
  222. data/lib/rubocop/cop/chef/style/include_recipe_with_parentheses.rb +1 -1
  223. data/lib/rubocop/cop/chef/style/negating_only_if.rb +1 -1
  224. data/lib/rubocop/cop/chef/style/overly_complex_supports_depends_metadata.rb +1 -1
  225. data/lib/rubocop/cop/chef/style/simplify_platform_major_version_check.rb +1 -1
  226. data/lib/rubocop/cop/chef/style/true_false_resource_properties.rb +1 -1
  227. data/lib/rubocop/cop/chef/style/unnecessary_os_check.rb +1 -1
  228. data/lib/rubocop/cop/chef/style/unnecessary_platform_case_statement.rb +1 -1
  229. data/lib/rubocop/cop/chef/style/use_platform_helpers.rb +1 -1
  230. data/lib/rubocop/monkey_patches/comment_config.rb +1 -1
  231. metadata +8 -4
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # Use `platform?('windows')` instead of the legacy `Chef::Platform.windows?` helper
23
23
  #
24
24
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Chef Workstation 0.8 and later renamed the ChefDK module used when writing custom cookbook generators from ChefDK to ChefCLI. For compatibility with the latest Chef Workstation releases you'll need to reference the new class names.
24
24
  #
25
25
  # @example
@@ -21,7 +21,7 @@ module RuboCop
21
21
  module Chef
22
22
  # The Librarian-Chef depsolving project is no longer maintained and a Cheffile should not be used for cookbook depsolving. Consider using Policyfiles instead. If the Policyfiles model is not compatible with your workflow you may find Berkshelf offers a more similar, and still supported, experience to Librarian-Chef.
23
23
  #
24
- module ChefDeprecations
24
+ module Deprecations
25
25
  class Cheffile < Base
26
26
  include RangeHelp
27
27
 
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Don't use the deprecated ChefSpec Coverage report functionality in your specs. This feature has been removed as coverage reports encourage cookbook authors to write ineffective specs. Focus on testing your logic instead of achieving 100% code coverage.
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Use ChefSpec::SoloRunner or ChefSpec::ServerRunner instead of the deprecated ChefSpec::Runner. These new runners were introduced in ChefSpec 4.1 (Oct 2014).
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Use the :remove action in the chocolatey_package resource instead of :uninstall which was removed in Chef Infra Client 14+
24
24
  #
25
25
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # Don't depend on the deprecated compat_resource cookbook made obsolete by Chef Infra Client 12.19+
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # Don't depend on the partial_search cookbook made obsolete by Chef Infra Client 13
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # Cookbooks should not depend on the deprecated Poise framework cookbooks. They should instead be refactored to use standard Chef Infra custom resources.
23
23
  #
24
24
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Use currently supported platforms in ChefSpec listed at https://github.com/chefspec/fauxhai/blob/master/PLATFORMS.md. Fauxhai / ChefSpec will perform fuzzy matching on platform version so it's always best to be less specific ie. 10 instead of 10.3
24
24
  #
25
25
  # @example
@@ -55,7 +55,7 @@ module RuboCop
55
55
  '< 11' => true,
56
56
  },
57
57
  'mac_os_x' => {
58
- '< 10.12' => '10.15',
58
+ '< 10.14' => '10.15',
59
59
  },
60
60
  'suse' => {
61
61
  '~> 12.0, < 12.4' => '12',
@@ -67,8 +67,7 @@ module RuboCop
67
67
  '= 15.0' => '15',
68
68
  },
69
69
  'debian' => {
70
- '< 8' => true,
71
- '> 8.0, < 8.11' => '8',
70
+ '< 9' => true,
72
71
  '> 9.0, < 9.11' => '9',
73
72
  },
74
73
  'centos' => {
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Don't use deprecated Mixins no longer included in Chef Infra Client 14 and later
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Use provider_for_action or provides instead of the deprecated Chef::Platform methods in resources, which were removed in Chef Infra Client 13.
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # The large number of shell_out helper methods in Chef Infra Client has been reduced to just shell_out and shell_out! methods. The legacy methods were removed in Chef Infra Client and cookbooks using these legacy helpers will need to be updated.
24
24
  #
25
25
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # Don't use the deprecated older_than_win_2012_or_8? helper. Windows versions before 2012 and 8 are now end of life and this helper will always return false.
23
23
  #
24
24
  # @example
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2020, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Deprecations
22
+ # With the release of Chef Infra Client 12.14 and the yum cookbook 3.0 the actions the yum_repository resource actions were renamed. The `add` action became `create` and `delete` became `remove` to better match other resources in Chef Infra Client.
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # yum_repository 'OurCo' do
28
+ # description 'OurCo yum repository'
29
+ # baseurl 'http://artifacts.ourco.org/foo/bar'
30
+ # gpgkey 'http://artifacts.ourco.org/pub/yum/RPM-GPG-KEY-OURCO-6'
31
+ # action :add
32
+ # end
33
+ #
34
+ # # good
35
+ # yum_repository 'OurCo' do
36
+ # description 'OurCo yum repository'
37
+ # baseurl 'http://artifacts.ourco.org/foo/bar'
38
+ # gpgkey 'http://artifacts.ourco.org/pub/yum/RPM-GPG-KEY-OURCO-6'
39
+ # action :create
40
+ # end
41
+ #
42
+ class DeprecatedYumRepositoryActions < Base
43
+ include RuboCop::Chef::CookbookHelpers
44
+ extend TargetChefVersion
45
+ extend AutoCorrector
46
+
47
+ minimum_target_chef_version '12.14'
48
+
49
+ MSG = 'With the release of Chef Infra Client 12.14 and the yum cookbook 3.0 several properties in the yum_repository resource the actions the yum_repository resource actions were renamed. The `add` action became `create` and `delete` became `remove` to better match other resources in Chef Infra Client.'
50
+
51
+ def on_block(node)
52
+ match_property_in_resource?(:yum_repository, 'action', node) do |prop_node|
53
+ next unless prop_node.arguments.first.sym_type?
54
+ next unless [s(:sym, :add), s(:sym, :delete)].include?(prop_node.arguments.first)
55
+
56
+ add_offense(prop_node, message: MSG, severity: :warning) do |corrector|
57
+ corrector.replace(prop_node, prop_node.source
58
+ .gsub('add', 'create')
59
+ .gsub('delete', 'remove'))
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # With the release of Chef Infra Client 12.14 and the yum cookbook 3.0 several properties in the yum_repository resource were renamed. url -> baseurl, keyurl -> gpgkey, and mirrorexpire -> mirror_expire.
23
23
  #
24
24
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Don't use the deprecated easy_install resource removed in Chef Infra Client 13
24
24
  #
25
25
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # The beta Audit Mode for Chef Infra Client was removed in Chef Infra Client 15.0. Users should instead use InSpec and the audit cookbook. See https://www.inspec.io/ for more information.
23
23
  #
24
24
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Make sure ignore_failure is used instead of epic_fail
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Don't use the deprecated erl_call resource
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # In Chef Infra Client 13 and later you must set path env vars in execute resources using the `environment` property not the legacy `path` property.
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # In Chef Infra Client 13 and later you must either specific an absolute path when using the `execute` resource's `creates` property or also use the `cwd` property.
24
24
  #
25
25
  # @example
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2020, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Deprecations
22
+ # The Foodcritic cookbook linter has been deprecated and should no longer be used for validating cookbooks.
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # gem 'foodcritic'
28
+ # require 'foodcritic'
29
+ #
30
+ class FoodcriticTesting < Base
31
+ MSG = 'The Foodcritic cookbook linter has been deprecated and should no longer be used for validating cookbooks.'
32
+ RESTRICT_ON_SEND = [:require, :gem].freeze
33
+
34
+ def on_send(node)
35
+ return unless node.arguments.first == s(:str, 'foodcritic')
36
+
37
+ add_offense(node, message: MSG, severity: :warning)
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Chef Infra Client 16 and later a legacy HWRP resource must use `provides` to define how the resource is called in recipes or other resources. To maintain compatibility with Chef Infra Client < 16 use both `resource_name` and `provides`.
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Resources written in the class based HWRP style should inherit from the 'Chef::Resource' class and not the 'ChefCompat::Resource' class from the deprecated compat_resource cookbook.
24
24
  #
25
25
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # The launchd resource's hash property was renamed to plist_hash in Chef Infra Client 13+ to avoid conflicts with Ruby's hash class.
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # Use the new-style notification syntax which allows you to notify resources defined later in a recipe or resource.
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # The Ohai default recipe previously allowed a user to ship custom Ohai plugins to a system by including them
23
23
  # in a directory in the Ohai cookbook. This functionality was replaced with the ohai_plugin resource, which
24
24
  # should be used instead as it doesn't require forking the ohai cookbook.
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2020, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Deprecations
22
+ # The Librarian-Chef depsolving project is no longer maintained and a Cheffile should not be used for cookbook depsolving. Consider using Policyfiles instead.
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # require 'chefspec/librarian'
28
+ #
29
+ class LibrarianChefSpec < Base
30
+ MSG = 'The Librarian-Chef depsolving project is no longer maintained and ChefSpec should not use Librarian-Chef for cookbook depsolving. Consider using Policyfiles instead.'
31
+ RESTRICT_ON_SEND = [:require].freeze
32
+
33
+ def on_send(node)
34
+ return unless node.arguments.first == s(:str, 'chefspec/librarian')
35
+
36
+ add_offense(node, message: MSG, severity: :warning)
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # The local resource's lc_all property has been deprecated and will be removed in Chef Infra Client 17
23
23
  #
24
24
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # In Chef Infra Client 16 the log resource no longer notifies when logging so notifications should not be triggered from log resources. Use the notify_group resource introduced in Chef Infra Client 15.8 instead to aggregate notifications.
24
24
  #
25
25
  # @example
@@ -44,7 +44,7 @@ module RuboCop
44
44
  # notifies :restart, 'service[foo]', :delayed
45
45
  # end
46
46
  #
47
- class LogResourceNotifications < Cop
47
+ class LogResourceNotifications < Base
48
48
  include RuboCop::Chef::CookbookHelpers
49
49
  extend TargetChefVersion
50
50
 
@@ -54,7 +54,7 @@ module RuboCop
54
54
 
55
55
  def on_block(node)
56
56
  match_property_in_resource?(:log, 'notifies', node) do |prop_node|
57
- add_offense(prop_node, location: :expression, message: MSG, severity: :warning)
57
+ add_offense(prop_node, message: MSG, severity: :warning)
58
58
  end
59
59
  end
60
60
  end