cookstyle 8.6.4 → 8.7.6
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/Gemfile +25 -25
- data/LICENSE +201 -201
- data/bin/cookstyle +31 -31
- data/bin/cookstyle-profile +31 -31
- data/config/chefstyle.yml +956 -920
- data/config/cookstyle.yml +3347 -3311
- data/config/default.yml +2 -2
- data/cookstyle.gemspec +30 -30
- data/lib/cookstyle/chefstyle.rb +5 -5
- data/lib/cookstyle/version.rb +8 -5
- data/lib/cookstyle.rb +49 -48
- data/lib/rubocop/chef/autocorrect_helpers.rb +33 -33
- data/lib/rubocop/chef/cookbook_helpers.rb +127 -127
- data/lib/rubocop/chef/cookbook_only.rb +76 -76
- data/lib/rubocop/chef/platform_helpers.rb +72 -72
- data/lib/rubocop/chef.rb +11 -11
- data/lib/rubocop/cop/chef/correctness/block_guard_clause_string_only.rb +61 -61
- data/lib/rubocop/cop/chef/correctness/chef_application_fatal.rb +56 -56
- data/lib/rubocop/cop/chef/correctness/conditional_ruby_shellout.rb +69 -69
- data/lib/rubocop/cop/chef/correctness/dnf_package_allow_downgrades.rb +55 -55
- data/lib/rubocop/cop/chef/correctness/empty_resource_guard.rb +104 -104
- data/lib/rubocop/cop/chef/correctness/incorrect_library_injection.rb +77 -77
- data/lib/rubocop/cop/chef/correctness/invalid_cookbook_name.rb +47 -47
- data/lib/rubocop/cop/chef/correctness/invalid_default_action.rb +48 -48
- data/lib/rubocop/cop/chef/correctness/invalid_notification_resource.rb +59 -59
- data/lib/rubocop/cop/chef/correctness/invalid_notification_timing.rb +55 -55
- data/lib/rubocop/cop/chef/correctness/invalid_platform_family_helper.rb +72 -72
- data/lib/rubocop/cop/chef/correctness/invalid_platform_family_values_in_case.rb +70 -70
- data/lib/rubocop/cop/chef/correctness/invalid_platform_helper.rb +57 -57
- data/lib/rubocop/cop/chef/correctness/invalid_platform_metadata.rb +89 -89
- data/lib/rubocop/cop/chef/correctness/invalid_platform_values_in_case.rb +70 -70
- data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_family_helper.rb +70 -70
- data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_helper.rb +69 -69
- data/lib/rubocop/cop/chef/correctness/invalid_version_metadata.rb +48 -48
- data/lib/rubocop/cop/chef/correctness/lazy_eval_node_attribute_defaults.rb +53 -53
- data/lib/rubocop/cop/chef/correctness/lazy_in_resource_guard.rb +67 -67
- data/lib/rubocop/cop/chef/correctness/macos_userdefaults_invalid_type.rb +67 -67
- data/lib/rubocop/cop/chef/correctness/malformed_value_for_platform.rb +67 -67
- data/lib/rubocop/cop/chef/correctness/metadata_malformed_version.rb +58 -58
- data/lib/rubocop/cop/chef/correctness/metadata_missing_name.rb +54 -54
- data/lib/rubocop/cop/chef/correctness/metadata_missing_version.rb +51 -51
- data/lib/rubocop/cop/chef/correctness/node_normal.rb +53 -53
- data/lib/rubocop/cop/chef/correctness/node_normal_unless.rb +53 -53
- data/lib/rubocop/cop/chef/correctness/node_save.rb +46 -46
- data/lib/rubocop/cop/chef/correctness/notifies_action_not_symbol.rb +64 -64
- data/lib/rubocop/cop/chef/correctness/octal_mode_as_string.rb +48 -48
- data/lib/rubocop/cop/chef/correctness/openssl_password_helpers.rb +46 -46
- data/lib/rubocop/cop/chef/correctness/powershell_delete_file.rb +54 -54
- data/lib/rubocop/cop/chef/correctness/powershell_file_exists.rb +50 -50
- data/lib/rubocop/cop/chef/correctness/property_without_type.rb +59 -59
- data/lib/rubocop/cop/chef/correctness/resource_sets_internal_properties.rb +51 -51
- data/lib/rubocop/cop/chef/correctness/resource_sets_name_property.rb +50 -50
- data/lib/rubocop/cop/chef/correctness/resource_with_none_action.rb +56 -56
- data/lib/rubocop/cop/chef/correctness/scoped_file_exist.rb +52 -52
- data/lib/rubocop/cop/chef/correctness/service_resource.rb +56 -56
- data/lib/rubocop/cop/chef/correctness/supports_must_be_float.rb +52 -52
- data/lib/rubocop/cop/chef/correctness/tmp_path.rb +59 -59
- data/lib/rubocop/cop/chef/deprecation/cb_depends_on_self.rb +57 -57
- data/lib/rubocop/cop/chef/deprecation/chef_handler_recipe.rb +52 -52
- data/lib/rubocop/cop/chef/deprecation/chef_handler_supports.rb +55 -55
- data/lib/rubocop/cop/chef/deprecation/chef_rest.rb +57 -57
- data/lib/rubocop/cop/chef/deprecation/chef_rewind.rb +98 -98
- data/lib/rubocop/cop/chef/deprecation/chef_shellout.rb +83 -83
- data/lib/rubocop/cop/chef/deprecation/chef_sugar_helpers.rb +55 -55
- data/lib/rubocop/cop/chef/deprecation/chef_windows_platform_helper.rb +55 -55
- data/lib/rubocop/cop/chef/deprecation/chefdk_generators.rb +56 -56
- data/lib/rubocop/cop/chef/deprecation/cheffile.rb +39 -39
- data/lib/rubocop/cop/chef/deprecation/chefspec_coverage_report.rb +49 -49
- data/lib/rubocop/cop/chef/deprecation/chefspec_legacy_runner.rb +61 -61
- data/lib/rubocop/cop/chef/deprecation/chocolatey_package_uninstall_action.rb +56 -56
- data/lib/rubocop/cop/chef/deprecation/delivery.rb +48 -48
- data/lib/rubocop/cop/chef/deprecation/depends_chef_nginx_cookbook.rb +54 -54
- data/lib/rubocop/cop/chef/deprecation/depends_chef_reporting_cookbook.rb +51 -51
- data/lib/rubocop/cop/chef/deprecation/depends_compat_resource.rb +54 -54
- data/lib/rubocop/cop/chef/deprecation/depends_omnibus_updater_cookbook.rb +54 -54
- data/lib/rubocop/cop/chef/deprecation/depends_partial_search.rb +50 -50
- data/lib/rubocop/cop/chef/deprecation/depends_poise.rb +48 -48
- data/lib/rubocop/cop/chef/deprecation/deprecated_chefspec_platform.rb +129 -129
- data/lib/rubocop/cop/chef/deprecation/deprecated_mixins.rb +78 -78
- data/lib/rubocop/cop/chef/deprecation/deprecated_platform_methods.rb +61 -61
- data/lib/rubocop/cop/chef/deprecation/deprecated_shellout_methods.rb +64 -64
- data/lib/rubocop/cop/chef/deprecation/deprecated_sudo_actions.rb +65 -65
- data/lib/rubocop/cop/chef/deprecation/deprecated_windows_version_check.rb +42 -42
- data/lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_actions.rb +67 -67
- data/lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_properties.rb +69 -69
- data/lib/rubocop/cop/chef/deprecation/easy_install.rb +42 -42
- data/lib/rubocop/cop/chef/deprecation/eol_audit_mode.rb +49 -49
- data/lib/rubocop/cop/chef/deprecation/epic_fail.rb +51 -51
- data/lib/rubocop/cop/chef/deprecation/erl_call.rb +42 -42
- data/lib/rubocop/cop/chef/deprecation/execute_path_property.rb +50 -50
- data/lib/rubocop/cop/chef/deprecation/execute_relative_creates_without_cwd.rb +66 -66
- data/lib/rubocop/cop/chef/deprecation/foodcritic_file.rb +41 -41
- data/lib/rubocop/cop/chef/deprecation/foodcritic_testing.rb +43 -43
- data/lib/rubocop/cop/chef/deprecation/hwrp_without_provides.rb +136 -136
- data/lib/rubocop/cop/chef/deprecation/hwrp_without_unified_mode_true.rb +86 -86
- data/lib/rubocop/cop/chef/deprecation/inherits_compat_resource.rb +59 -59
- data/lib/rubocop/cop/chef/deprecation/launchd_deprecated_hash_property.rb +56 -56
- data/lib/rubocop/cop/chef/deprecation/legacy_notify_syntax.rb +91 -91
- data/lib/rubocop/cop/chef/deprecation/legacy_yum_cookbook_recipes.rb +53 -53
- data/lib/rubocop/cop/chef/deprecation/librarian_chefspec.rb +42 -42
- data/lib/rubocop/cop/chef/deprecation/locale_lc_all_property.rb +46 -46
- data/lib/rubocop/cop/chef/deprecation/log_resource_notifications.rb +63 -63
- data/lib/rubocop/cop/chef/deprecation/macos_userdefaults_global_property.rb +60 -60
- data/lib/rubocop/cop/chef/deprecation/name_property_and_default.rb +60 -60
- data/lib/rubocop/cop/chef/deprecation/node_deep_fetch.rb +65 -65
- data/lib/rubocop/cop/chef/deprecation/node_methods_not_attributes.rb +80 -80
- data/lib/rubocop/cop/chef/deprecation/node_set.rb +54 -54
- data/lib/rubocop/cop/chef/deprecation/node_set_unless.rb +54 -54
- data/lib/rubocop/cop/chef/deprecation/node_set_without_level.rb +70 -70
- data/lib/rubocop/cop/chef/deprecation/partial_search_class_usage.rb +67 -67
- data/lib/rubocop/cop/chef/deprecation/partial_search_helper_usage.rb +61 -61
- data/lib/rubocop/cop/chef/deprecation/poise_archive.rb +63 -63
- data/lib/rubocop/cop/chef/deprecation/policyfile_community_source.rb +53 -53
- data/lib/rubocop/cop/chef/deprecation/powershell_cookbook_helpers.rb +59 -59
- data/lib/rubocop/cop/chef/deprecation/require_recipe.rb +53 -53
- data/lib/rubocop/cop/chef/deprecation/resource_overrides_provides_method.rb +48 -48
- data/lib/rubocop/cop/chef/deprecation/resource_uses_dsl_name_method.rb +46 -46
- data/lib/rubocop/cop/chef/deprecation/resource_uses_only_resource_name.rb +84 -84
- data/lib/rubocop/cop/chef/deprecation/resource_uses_provider_base_method.rb +40 -40
- data/lib/rubocop/cop/chef/deprecation/resource_uses_updated_method.rb +51 -51
- data/lib/rubocop/cop/chef/deprecation/resource_without_unified_mode_true.rb +87 -87
- data/lib/rubocop/cop/chef/deprecation/ruby_27_keyword_argument_warnings.rb +56 -56
- data/lib/rubocop/cop/chef/deprecation/ruby_block_create_action.rb +62 -62
- data/lib/rubocop/cop/chef/deprecation/run_command_helper.rb +63 -63
- data/lib/rubocop/cop/chef/deprecation/search_uses_positional_parameters.rb +134 -134
- data/lib/rubocop/cop/chef/deprecation/use_automatic_resource_name.rb +52 -52
- data/lib/rubocop/cop/chef/deprecation/use_inline_resources.rb +57 -57
- data/lib/rubocop/cop/chef/deprecation/use_yaml_dump.rb +47 -47
- data/lib/rubocop/cop/chef/deprecation/user_supports_property.rb +71 -71
- data/lib/rubocop/cop/chef/deprecation/verify_property_file_expansion.rb +57 -57
- data/lib/rubocop/cop/chef/deprecation/windows_feature_servermanagercmd.rb +58 -58
- data/lib/rubocop/cop/chef/deprecation/windows_package_installer_type_string.rb +60 -60
- data/lib/rubocop/cop/chef/deprecation/windows_task_change_action.rb +83 -83
- data/lib/rubocop/cop/chef/deprecation/windows_version_helpers.rb +71 -71
- data/lib/rubocop/cop/chef/deprecation/xml_ruby_recipe.rb +51 -51
- data/lib/rubocop/cop/chef/deprecation/yum_dnf_compat_recipe.rb +53 -53
- data/lib/rubocop/cop/chef/effortless/berksfile.rb +39 -39
- data/lib/rubocop/cop/chef/effortless/chef_vault_used.rb +87 -87
- data/lib/rubocop/cop/chef/effortless/data_bags.rb +40 -40
- data/lib/rubocop/cop/chef/effortless/depends_chef_vault.rb +47 -47
- data/lib/rubocop/cop/chef/effortless/node_environment.rb +45 -45
- data/lib/rubocop/cop/chef/effortless/node_policygroup.rb +44 -44
- data/lib/rubocop/cop/chef/effortless/node_roles.rb +45 -45
- data/lib/rubocop/cop/chef/effortless/search_for_environments_or_roles.rb +43 -43
- data/lib/rubocop/cop/chef/effortless/search_used.rb +40 -40
- data/lib/rubocop/cop/chef/modernize/action_method_in_resource.rb +57 -57
- data/lib/rubocop/cop/chef/modernize/allowed_actions_initializer.rb +77 -77
- data/lib/rubocop/cop/chef/modernize/apt_default_recipe.rb +54 -54
- data/lib/rubocop/cop/chef/modernize/berksfile_source.rb +70 -70
- data/lib/rubocop/cop/chef/modernize/build_essential.rb +55 -55
- data/lib/rubocop/cop/chef/modernize/chef_14_resources.rb +60 -60
- data/lib/rubocop/cop/chef/modernize/chef_15_resources.rb +57 -57
- data/lib/rubocop/cop/chef/modernize/chef_gem_nokogiri.rb +63 -63
- data/lib/rubocop/cop/chef/modernize/class_eval_action_class.rb +63 -63
- data/lib/rubocop/cop/chef/modernize/compile_time_resources.rb +53 -53
- data/lib/rubocop/cop/chef/modernize/conditional_using_test.rb +55 -55
- data/lib/rubocop/cop/chef/modernize/cron_d_file_or_template.rb +121 -121
- data/lib/rubocop/cop/chef/modernize/cron_manage_resource.rb +50 -50
- data/lib/rubocop/cop/chef/modernize/databag_helpers.rb +59 -59
- data/lib/rubocop/cop/chef/modernize/declare_action_class.rb +54 -54
- data/lib/rubocop/cop/chef/modernize/default_action_initializer.rb +74 -74
- data/lib/rubocop/cop/chef/modernize/defines_chefspec_matchers.rb +54 -54
- data/lib/rubocop/cop/chef/modernize/definitions.rb +36 -36
- data/lib/rubocop/cop/chef/modernize/depends_chef_vault_cookbook.rb +54 -54
- data/lib/rubocop/cop/chef/modernize/depends_chocolatey_cookbooks.rb +55 -55
- data/lib/rubocop/cop/chef/modernize/depends_kernel_module_cookbook.rb +54 -54
- data/lib/rubocop/cop/chef/modernize/depends_locale_cookbook.rb +54 -54
- data/lib/rubocop/cop/chef/modernize/depends_openssl_cookbook.rb +54 -54
- data/lib/rubocop/cop/chef/modernize/depends_timezone_lwrp_cookbook.rb +54 -54
- data/lib/rubocop/cop/chef/modernize/depends_windows_firewall_cookbook.rb +54 -54
- data/lib/rubocop/cop/chef/modernize/depends_zypper_cookbook.rb +54 -54
- data/lib/rubocop/cop/chef/modernize/dsl_include_in_resource.rb +55 -55
- data/lib/rubocop/cop/chef/modernize/empty_resource_initialize.rb +52 -52
- data/lib/rubocop/cop/chef/modernize/execute_apt_update.rb +81 -81
- data/lib/rubocop/cop/chef/modernize/execute_sc_exe.rb +67 -67
- data/lib/rubocop/cop/chef/modernize/execute_sleep.rb +76 -76
- data/lib/rubocop/cop/chef/modernize/execute_sysctl.rb +70 -70
- data/lib/rubocop/cop/chef/modernize/execute_tzutil.rb +83 -83
- data/lib/rubocop/cop/chef/modernize/foodcritic_comments.rb +46 -46
- data/lib/rubocop/cop/chef/modernize/if_provides_default_action.rb +48 -48
- data/lib/rubocop/cop/chef/modernize/includes_mixin_shellout.rb +83 -83
- data/lib/rubocop/cop/chef/modernize/libarchive_file.rb +70 -70
- data/lib/rubocop/cop/chef/modernize/macos_user_defaults.rb +58 -58
- data/lib/rubocop/cop/chef/modernize/minitest_handler_usage.rb +51 -51
- data/lib/rubocop/cop/chef/modernize/node_init_package.rb +89 -89
- data/lib/rubocop/cop/chef/modernize/node_roles_include.rb +57 -57
- data/lib/rubocop/cop/chef/modernize/ohai_default_recipe.rb +47 -47
- data/lib/rubocop/cop/chef/modernize/openssl_rsa_key_resource.rb +54 -54
- data/lib/rubocop/cop/chef/modernize/openssl_x509_resource.rb +60 -60
- data/lib/rubocop/cop/chef/modernize/osx_config_profile_resource.rb +51 -51
- data/lib/rubocop/cop/chef/modernize/powershell_expand_archive.rb +50 -50
- data/lib/rubocop/cop/chef/modernize/powershell_guard_interpreter.rb +68 -68
- data/lib/rubocop/cop/chef/modernize/powershell_install_package.rb +53 -53
- data/lib/rubocop/cop/chef/modernize/powershell_install_windowsfeature.rb +56 -56
- data/lib/rubocop/cop/chef/modernize/property_with_name_attribute.rb +56 -56
- data/lib/rubocop/cop/chef/modernize/provides_initializer.rb +68 -68
- data/lib/rubocop/cop/chef/modernize/resource_name_initializer.rb +63 -63
- data/lib/rubocop/cop/chef/modernize/resource_set_or_return.rb +49 -49
- data/lib/rubocop/cop/chef/modernize/resource_with_attributes.rb +66 -66
- data/lib/rubocop/cop/chef/modernize/respond_to_compile_time.rb +94 -94
- data/lib/rubocop/cop/chef/modernize/respond_to_metadata.rb +77 -77
- data/lib/rubocop/cop/chef/modernize/respond_to_provides.rb +63 -63
- data/lib/rubocop/cop/chef/modernize/respond_to_resource_name.rb +52 -52
- data/lib/rubocop/cop/chef/modernize/sc_windows_resource.rb +53 -53
- data/lib/rubocop/cop/chef/modernize/seven_zip_archive.rb +46 -46
- data/lib/rubocop/cop/chef/modernize/shell_out_helper.rb +60 -60
- data/lib/rubocop/cop/chef/modernize/shellouts_to_chocolatey.rb +58 -58
- data/lib/rubocop/cop/chef/modernize/simplify_apt_ppa_setup.rb +63 -63
- data/lib/rubocop/cop/chef/modernize/sysctl_param_resource.rb +55 -55
- data/lib/rubocop/cop/chef/modernize/unnecessary_mixlib_shellout_require.rb +51 -51
- data/lib/rubocop/cop/chef/modernize/use_chef_language_cloud_helpers.rb +93 -93
- data/lib/rubocop/cop/chef/modernize/use_chef_language_env_helpers.rb +69 -69
- data/lib/rubocop/cop/chef/modernize/use_chef_language_systemd_helper.rb +60 -60
- data/lib/rubocop/cop/chef/modernize/use_multipackage_installs.rb +113 -113
- data/lib/rubocop/cop/chef/modernize/use_require_relative.rb +60 -60
- data/lib/rubocop/cop/chef/modernize/whyrun_supported_true.rb +58 -58
- data/lib/rubocop/cop/chef/modernize/windows_default_recipe.rb +52 -52
- data/lib/rubocop/cop/chef/modernize/windows_registry_uac.rb +92 -92
- data/lib/rubocop/cop/chef/modernize/windows_zipfile.rb +46 -46
- data/lib/rubocop/cop/chef/modernize/zipfile_resource.rb +59 -59
- data/lib/rubocop/cop/chef/modernize/zypper_repo.rb +60 -60
- data/lib/rubocop/cop/chef/redundant/apt_repository_distribution_default.rb +65 -65
- data/lib/rubocop/cop/chef/redundant/apt_repository_notifies_apt_update.rb +60 -60
- data/lib/rubocop/cop/chef/redundant/attribute_metadata.rb +52 -52
- data/lib/rubocop/cop/chef/redundant/conflicts_metadata.rb +46 -46
- data/lib/rubocop/cop/chef/redundant/custom_resource_with_allowed_actions.rb +60 -60
- data/lib/rubocop/cop/chef/redundant/double_compile_time.rb +68 -68
- data/lib/rubocop/cop/chef/redundant/grouping_metadata.rb +46 -46
- data/lib/rubocop/cop/chef/redundant/long_description_metadata.rb +46 -46
- data/lib/rubocop/cop/chef/redundant/multiple_platform_checks.rb +58 -58
- data/lib/rubocop/cop/chef/redundant/name_property_and_required.rb +81 -81
- data/lib/rubocop/cop/chef/redundant/ohai_attribute_to_string.rb +65 -65
- data/lib/rubocop/cop/chef/redundant/property_splat_regex.rb +59 -59
- data/lib/rubocop/cop/chef/redundant/property_with_default_and_required.rb +61 -61
- data/lib/rubocop/cop/chef/redundant/provides_metadata.rb +46 -46
- data/lib/rubocop/cop/chef/redundant/recipe_metadata.rb +47 -47
- data/lib/rubocop/cop/chef/redundant/replaces_metadata.rb +46 -46
- data/lib/rubocop/cop/chef/redundant/resource_with_nothing_action.rb +52 -52
- data/lib/rubocop/cop/chef/redundant/sensitive_property_in_resource.rb +50 -50
- data/lib/rubocop/cop/chef/redundant/string_property_with_nil_default.rb +64 -64
- data/lib/rubocop/cop/chef/redundant/suggests_metadata.rb +46 -46
- data/lib/rubocop/cop/chef/redundant/unnecessary_desired_state.rb +60 -60
- data/lib/rubocop/cop/chef/redundant/unnecessary_name_property.rb +67 -67
- data/lib/rubocop/cop/chef/redundant/use_create_if_missing.rb +116 -116
- data/lib/rubocop/cop/chef/security/ssh_private_key.rb +49 -49
- data/lib/rubocop/cop/chef/sharing/default_maintainer_metadata.rb +51 -51
- data/lib/rubocop/cop/chef/sharing/empty_metadata_field.rb +47 -47
- data/lib/rubocop/cop/chef/sharing/include_property_descriptions.rb +55 -55
- data/lib/rubocop/cop/chef/sharing/include_resource_descriptions.rb +52 -52
- data/lib/rubocop/cop/chef/sharing/include_resource_examples.rb +60 -60
- data/lib/rubocop/cop/chef/sharing/insecure_cookbook_url.rb +62 -62
- data/lib/rubocop/cop/chef/sharing/invalid_license_string.rb +819 -819
- data/lib/rubocop/cop/chef/style/attribute_keys.rb +94 -94
- data/lib/rubocop/cop/chef/style/chef_whaaat.rb +49 -49
- data/lib/rubocop/cop/chef/style/comment_sentence_spacing.rb +42 -42
- data/lib/rubocop/cop/chef/style/comments_copyright_format.rb +101 -101
- data/lib/rubocop/cop/chef/style/comments_default_copyright.rb +50 -50
- data/lib/rubocop/cop/chef/style/comments_format.rb +71 -71
- data/lib/rubocop/cop/chef/style/file_mode.rb +86 -86
- data/lib/rubocop/cop/chef/style/immediate_notification_timing.rb +59 -59
- data/lib/rubocop/cop/chef/style/include_recipe_with_parentheses.rb +58 -58
- data/lib/rubocop/cop/chef/style/negating_only_if.rb +69 -69
- data/lib/rubocop/cop/chef/style/overly_complex_supports_depends_metadata.rb +70 -70
- data/lib/rubocop/cop/chef/style/simplify_platform_major_version_check.rb +89 -89
- data/lib/rubocop/cop/chef/style/true_false_resource_properties.rb +53 -53
- data/lib/rubocop/cop/chef/style/unnecessary_os_check.rb +103 -103
- data/lib/rubocop/cop/chef/style/unnecessary_platform_case_statement.rb +100 -100
- data/lib/rubocop/cop/chef/style/use_platform_helpers.rb +86 -86
- data/lib/rubocop/cop/chefstyle/ruby/gemspec_license.rb +55 -55
- data/lib/rubocop/cop/chefstyle/ruby/gemspec_require_rubygems.rb +46 -46
- data/lib/rubocop/cop/chefstyle/ruby/legacy_powershell_out_methods.rb +36 -36
- data/lib/rubocop/cop/chefstyle/ruby/require_net_https.rb +54 -54
- data/lib/rubocop/cop/chefstyle/ruby/unless_defined_require.rb +122 -122
- data/lib/rubocop/cop/inspec/deprecation/attribute_default.rb +53 -53
- data/lib/rubocop/cop/inspec/deprecation/attribute_helper.rb +47 -47
- data/lib/rubocop/cop/target_chef_version.rb +22 -22
- data/lib/rubocop/monkey_patches/allow_invalid_ruby.rb +28 -28
- data/lib/rubocop/monkey_patches/base.rb +11 -11
- data/lib/rubocop/monkey_patches/comment_config.rb +20 -0
- data/lib/rubocop/monkey_patches/config.rb +15 -15
- data/lib/rubocop/monkey_patches/directive_comment.rb +12 -12
- data/lib/rubocop/monkey_patches/registry_cop.rb +13 -15
- data/lib/rubocop/monkey_patches/team.rb +25 -25
- metadata +10 -5
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
#
|
|
3
|
-
# Copyright::
|
|
4
|
-
# Author:: Tim Smith (<tsmith84@gmail.com>)
|
|
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 several properties in the `yum_repository` resource were renamed. `url` -> `baseurl`, `keyurl` -> `gpgkey`, and `mirrorexpire` -> `mirror_expire`.
|
|
23
|
-
#
|
|
24
|
-
# @example
|
|
25
|
-
#
|
|
26
|
-
# # bad
|
|
27
|
-
# yum_repository 'OurCo' do
|
|
28
|
-
# description 'OurCo yum repository'
|
|
29
|
-
# url 'http://artifacts.ourco.org/foo/bar'
|
|
30
|
-
# keyurl 'http://artifacts.ourco.org/pub/yum/RPM-GPG-KEY-OURCO-6'
|
|
31
|
-
# mirrorexpire 1440
|
|
32
|
-
# action :create
|
|
33
|
-
# end
|
|
34
|
-
#
|
|
35
|
-
# # good
|
|
36
|
-
# yum_repository 'OurCo' do
|
|
37
|
-
# description 'OurCo yum repository'
|
|
38
|
-
# baseurl 'http://artifacts.ourco.org/foo/bar'
|
|
39
|
-
# gpgkey 'http://artifacts.ourco.org/pub/yum/RPM-GPG-KEY-OURCO-6'
|
|
40
|
-
# mirror_expire 1440
|
|
41
|
-
# action :create
|
|
42
|
-
# end
|
|
43
|
-
#
|
|
44
|
-
class DeprecatedYumRepositoryProperties < Base
|
|
45
|
-
include RuboCop::Chef::CookbookHelpers
|
|
46
|
-
extend TargetChefVersion
|
|
47
|
-
extend AutoCorrector
|
|
48
|
-
|
|
49
|
-
minimum_target_chef_version '12.14'
|
|
50
|
-
|
|
51
|
-
MSG = '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.'
|
|
52
|
-
|
|
53
|
-
def on_block(node)
|
|
54
|
-
%w(url keyurl mirrorexpire).each do |prop|
|
|
55
|
-
match_property_in_resource?(:yum_repository, prop, node) do |prop_node|
|
|
56
|
-
add_offense(prop_node, severity: :warning) do |corrector|
|
|
57
|
-
corrector.replace(prop_node, prop_node.source
|
|
58
|
-
.gsub(/^url/, 'baseurl')
|
|
59
|
-
.gsub(/^keyurl/, 'gpgkey')
|
|
60
|
-
.gsub(/^mirrorexpire/, 'mirror_expire'))
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
end
|
|
69
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
#
|
|
3
|
+
# Copyright:: Copyright (c) 2016-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
|
|
4
|
+
# Author:: Tim Smith (<tsmith84@gmail.com>)
|
|
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 several properties in the `yum_repository` resource were renamed. `url` -> `baseurl`, `keyurl` -> `gpgkey`, and `mirrorexpire` -> `mirror_expire`.
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
#
|
|
26
|
+
# # bad
|
|
27
|
+
# yum_repository 'OurCo' do
|
|
28
|
+
# description 'OurCo yum repository'
|
|
29
|
+
# url 'http://artifacts.ourco.org/foo/bar'
|
|
30
|
+
# keyurl 'http://artifacts.ourco.org/pub/yum/RPM-GPG-KEY-OURCO-6'
|
|
31
|
+
# mirrorexpire 1440
|
|
32
|
+
# action :create
|
|
33
|
+
# end
|
|
34
|
+
#
|
|
35
|
+
# # good
|
|
36
|
+
# yum_repository 'OurCo' do
|
|
37
|
+
# description 'OurCo yum repository'
|
|
38
|
+
# baseurl 'http://artifacts.ourco.org/foo/bar'
|
|
39
|
+
# gpgkey 'http://artifacts.ourco.org/pub/yum/RPM-GPG-KEY-OURCO-6'
|
|
40
|
+
# mirror_expire 1440
|
|
41
|
+
# action :create
|
|
42
|
+
# end
|
|
43
|
+
#
|
|
44
|
+
class DeprecatedYumRepositoryProperties < Base
|
|
45
|
+
include RuboCop::Chef::CookbookHelpers
|
|
46
|
+
extend TargetChefVersion
|
|
47
|
+
extend AutoCorrector
|
|
48
|
+
|
|
49
|
+
minimum_target_chef_version '12.14'
|
|
50
|
+
|
|
51
|
+
MSG = '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.'
|
|
52
|
+
|
|
53
|
+
def on_block(node)
|
|
54
|
+
%w(url keyurl mirrorexpire).each do |prop|
|
|
55
|
+
match_property_in_resource?(:yum_repository, prop, node) do |prop_node|
|
|
56
|
+
add_offense(prop_node, severity: :warning) do |corrector|
|
|
57
|
+
corrector.replace(prop_node, prop_node.source
|
|
58
|
+
.gsub(/^url/, 'baseurl')
|
|
59
|
+
.gsub(/^keyurl/, 'gpgkey')
|
|
60
|
+
.gsub(/^mirrorexpire/, 'mirror_expire'))
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
#
|
|
3
|
-
# Copyright::
|
|
4
|
-
# Author:: Tim Smith (<tsmith84@gmail.com>)
|
|
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
|
-
# Don't use the deprecated easy_install resource removed in Chef Infra Client 13.
|
|
23
|
-
#
|
|
24
|
-
# @example
|
|
25
|
-
#
|
|
26
|
-
# # bad
|
|
27
|
-
# easy_install "my_thing" do
|
|
28
|
-
# bar
|
|
29
|
-
# end
|
|
30
|
-
#
|
|
31
|
-
class EasyInstallResource < Base
|
|
32
|
-
MSG = "Don't use the deprecated easy_install resource removed in Chef Infra Client 13"
|
|
33
|
-
RESTRICT_ON_SEND = [:easy_install].freeze
|
|
34
|
-
|
|
35
|
-
def on_send(node)
|
|
36
|
-
add_offense(node, severity: :warning)
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
#
|
|
3
|
+
# Copyright:: Copyright (c) 2016-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
|
|
4
|
+
# Author:: Tim Smith (<tsmith84@gmail.com>)
|
|
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
|
+
# Don't use the deprecated easy_install resource removed in Chef Infra Client 13.
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
#
|
|
26
|
+
# # bad
|
|
27
|
+
# easy_install "my_thing" do
|
|
28
|
+
# bar
|
|
29
|
+
# end
|
|
30
|
+
#
|
|
31
|
+
class EasyInstallResource < Base
|
|
32
|
+
MSG = "Don't use the deprecated easy_install resource removed in Chef Infra Client 13"
|
|
33
|
+
RESTRICT_ON_SEND = [:easy_install].freeze
|
|
34
|
+
|
|
35
|
+
def on_send(node)
|
|
36
|
+
add_offense(node, severity: :warning)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
#
|
|
3
|
-
# Copyright::
|
|
4
|
-
# Author:: Tim Smith (<tsmith84@gmail.com>)
|
|
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 beta Audit Mode for Chef Infra Client was removed in Chef Infra Client 15.0. Users should instead use InSpec and the audit cookbook or the Compliance Phase introduced in Chef Infra Client 17. See https://www.inspec.io/ for more information.
|
|
23
|
-
#
|
|
24
|
-
# @example
|
|
25
|
-
#
|
|
26
|
-
# # bad
|
|
27
|
-
# control_group 'Baseline' do
|
|
28
|
-
# control 'SSH' do
|
|
29
|
-
# it 'should be listening on port 22' do
|
|
30
|
-
# expect(port(22)).to be_listening
|
|
31
|
-
# end
|
|
32
|
-
# end
|
|
33
|
-
# end
|
|
34
|
-
class EOLAuditModeUsage < Base
|
|
35
|
-
MSG = 'The beta Audit Mode feature in Chef Infra Client was removed in Chef Infra Client 15.0.'
|
|
36
|
-
RESTRICT_ON_SEND = [:control_group].freeze
|
|
37
|
-
|
|
38
|
-
def_node_matcher :control_group?, '(send nil? :control_group ...)'
|
|
39
|
-
|
|
40
|
-
def on_send(node)
|
|
41
|
-
control_group?(node) do
|
|
42
|
-
add_offense(node.loc.selector, severity: :warning)
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
#
|
|
3
|
+
# Copyright:: Copyright (c) 2016-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
|
|
4
|
+
# Author:: Tim Smith (<tsmith84@gmail.com>)
|
|
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 beta Audit Mode for Chef Infra Client was removed in Chef Infra Client 15.0. Users should instead use InSpec and the audit cookbook or the Compliance Phase introduced in Chef Infra Client 17. See https://www.inspec.io/ for more information.
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
#
|
|
26
|
+
# # bad
|
|
27
|
+
# control_group 'Baseline' do
|
|
28
|
+
# control 'SSH' do
|
|
29
|
+
# it 'should be listening on port 22' do
|
|
30
|
+
# expect(port(22)).to be_listening
|
|
31
|
+
# end
|
|
32
|
+
# end
|
|
33
|
+
# end
|
|
34
|
+
class EOLAuditModeUsage < Base
|
|
35
|
+
MSG = 'The beta Audit Mode feature in Chef Infra Client was removed in Chef Infra Client 15.0.'
|
|
36
|
+
RESTRICT_ON_SEND = [:control_group].freeze
|
|
37
|
+
|
|
38
|
+
def_node_matcher :control_group?, '(send nil? :control_group ...)'
|
|
39
|
+
|
|
40
|
+
def on_send(node)
|
|
41
|
+
control_group?(node) do
|
|
42
|
+
add_offense(node.loc.selector, severity: :warning)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
#
|
|
3
|
-
# Copyright::
|
|
4
|
-
# Author:: Tim Smith (<tsmith84@gmail.com>)
|
|
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
|
-
# Use `ignore_failure` in resources to continue when failures occur instead of the deprecated `epic_fail` property.
|
|
23
|
-
#
|
|
24
|
-
# @example
|
|
25
|
-
#
|
|
26
|
-
# # bad
|
|
27
|
-
# package "foo" do
|
|
28
|
-
# epic_fail true
|
|
29
|
-
# end
|
|
30
|
-
#
|
|
31
|
-
# # good
|
|
32
|
-
# package "foo" do
|
|
33
|
-
# ignore_failure true
|
|
34
|
-
# end
|
|
35
|
-
#
|
|
36
|
-
class EpicFail < Base
|
|
37
|
-
extend AutoCorrector
|
|
38
|
-
|
|
39
|
-
MSG = 'Use `ignore_failure` in resources to continue when failures occur instead of the deprecated `epic_fail` property'
|
|
40
|
-
RESTRICT_ON_SEND = [:epic_fail].freeze
|
|
41
|
-
|
|
42
|
-
def on_send(node)
|
|
43
|
-
add_offense(node, severity: :warning) do |corrector|
|
|
44
|
-
corrector.replace(node, 'ignore_failure true')
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
#
|
|
3
|
+
# Copyright:: Copyright (c) 2016-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
|
|
4
|
+
# Author:: Tim Smith (<tsmith84@gmail.com>)
|
|
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
|
+
# Use `ignore_failure` in resources to continue when failures occur instead of the deprecated `epic_fail` property.
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
#
|
|
26
|
+
# # bad
|
|
27
|
+
# package "foo" do
|
|
28
|
+
# epic_fail true
|
|
29
|
+
# end
|
|
30
|
+
#
|
|
31
|
+
# # good
|
|
32
|
+
# package "foo" do
|
|
33
|
+
# ignore_failure true
|
|
34
|
+
# end
|
|
35
|
+
#
|
|
36
|
+
class EpicFail < Base
|
|
37
|
+
extend AutoCorrector
|
|
38
|
+
|
|
39
|
+
MSG = 'Use `ignore_failure` in resources to continue when failures occur instead of the deprecated `epic_fail` property'
|
|
40
|
+
RESTRICT_ON_SEND = [:epic_fail].freeze
|
|
41
|
+
|
|
42
|
+
def on_send(node)
|
|
43
|
+
add_offense(node, severity: :warning) do |corrector|
|
|
44
|
+
corrector.replace(node, 'ignore_failure true')
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
#
|
|
3
|
-
# Copyright::
|
|
4
|
-
# Author:: Tim Smith (<tsmith84@gmail.com>)
|
|
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
|
-
# Don't use the deprecated `erl_call` resource removed in Chef Infra Client 13.
|
|
23
|
-
#
|
|
24
|
-
# @example
|
|
25
|
-
#
|
|
26
|
-
# # bad
|
|
27
|
-
# erl_call "foo" do
|
|
28
|
-
# bar
|
|
29
|
-
# end
|
|
30
|
-
#
|
|
31
|
-
class ErlCallResource < Base
|
|
32
|
-
MSG = "Don't use the deprecated erl_call resource removed in Chef Infra Client 13"
|
|
33
|
-
RESTRICT_ON_SEND = [:erl_call].freeze
|
|
34
|
-
|
|
35
|
-
def on_send(node)
|
|
36
|
-
add_offense(node, severity: :warning)
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
#
|
|
3
|
+
# Copyright:: Copyright (c) 2016-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
|
|
4
|
+
# Author:: Tim Smith (<tsmith84@gmail.com>)
|
|
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
|
+
# Don't use the deprecated `erl_call` resource removed in Chef Infra Client 13.
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
#
|
|
26
|
+
# # bad
|
|
27
|
+
# erl_call "foo" do
|
|
28
|
+
# bar
|
|
29
|
+
# end
|
|
30
|
+
#
|
|
31
|
+
class ErlCallResource < Base
|
|
32
|
+
MSG = "Don't use the deprecated erl_call resource removed in Chef Infra Client 13"
|
|
33
|
+
RESTRICT_ON_SEND = [:erl_call].freeze
|
|
34
|
+
|
|
35
|
+
def on_send(node)
|
|
36
|
+
add_offense(node, severity: :warning)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
#
|
|
3
|
-
# Copyright::
|
|
4
|
-
# Author:: Tim Smith (<tsmith84@gmail.com>)
|
|
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
|
-
# 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.
|
|
23
|
-
#
|
|
24
|
-
# @example
|
|
25
|
-
#
|
|
26
|
-
# # bad
|
|
27
|
-
# execute 'some_cmd' do
|
|
28
|
-
# path '/foo/bar'
|
|
29
|
-
# end
|
|
30
|
-
#
|
|
31
|
-
# # good
|
|
32
|
-
# execute 'some_cmd' do
|
|
33
|
-
# environment {path: '/foo/bar'}
|
|
34
|
-
# end
|
|
35
|
-
#
|
|
36
|
-
class ExecutePathProperty < Base
|
|
37
|
-
include RuboCop::Chef::CookbookHelpers
|
|
38
|
-
|
|
39
|
-
MSG = '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.'
|
|
40
|
-
|
|
41
|
-
def on_block(node)
|
|
42
|
-
match_property_in_resource?(:execute, 'path', node) do |offense|
|
|
43
|
-
add_offense(offense, severity: :warning) # @todo: we could probably autocorrect this with some work
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
#
|
|
3
|
+
# Copyright:: Copyright (c) 2016-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
|
|
4
|
+
# Author:: Tim Smith (<tsmith84@gmail.com>)
|
|
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
|
+
# 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.
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
#
|
|
26
|
+
# # bad
|
|
27
|
+
# execute 'some_cmd' do
|
|
28
|
+
# path '/foo/bar'
|
|
29
|
+
# end
|
|
30
|
+
#
|
|
31
|
+
# # good
|
|
32
|
+
# execute 'some_cmd' do
|
|
33
|
+
# environment {path: '/foo/bar'}
|
|
34
|
+
# end
|
|
35
|
+
#
|
|
36
|
+
class ExecutePathProperty < Base
|
|
37
|
+
include RuboCop::Chef::CookbookHelpers
|
|
38
|
+
|
|
39
|
+
MSG = '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.'
|
|
40
|
+
|
|
41
|
+
def on_block(node)
|
|
42
|
+
match_property_in_resource?(:execute, 'path', node) do |offense|
|
|
43
|
+
add_offense(offense, severity: :warning) # @todo: we could probably autocorrect this with some work
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|