cookstyle 6.11.4 → 6.12.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +6 -0
- data/bin/cookstyle +1 -0
- data/bin/cookstyle-profile +31 -0
- data/config/cookstyle.yml +27 -0
- data/config/disable_all.yml +12 -0
- data/config/upstream.yml +57 -6
- data/cookstyle.gemspec +1 -0
- data/lib/cookstyle.rb +1 -0
- data/lib/cookstyle/version.rb +3 -2
- data/lib/rubocop/chef.rb +1 -0
- data/lib/rubocop/chef/autocorrect_helpers.rb +1 -0
- data/lib/rubocop/chef/cookbook_helpers.rb +1 -0
- data/lib/rubocop/chef/platform_helpers.rb +1 -0
- data/lib/rubocop/cop/chef/correctness/block_guard_clause_string_only.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/cb_depends_on_self.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/chef_application_fatal.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/conditional_ruby_shellout.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/dnf_package_allow_downgrades.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/incorrect_library_injection.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/invalid_notification_timing.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/invalid_platform_family_helper.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/invalid_platform_family_values_in_case.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/invalid_platform_helper.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/invalid_platform_metadata.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/invalid_platform_values_in_case.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_family_helper.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_helper.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/invalid_version_metadata.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/lazy_eval_node_attribute_defaults.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/malformed_value_for_platform.rb +1 -0
- data/lib/rubocop/cop/chef/correctness/metadata_missing_name.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/node_normal.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/node_normal_unless.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/node_save.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/notifies_action_not_symbol.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/openssl_password_helpers.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/powershell_delete_file.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/resource_sets_internal_properties.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/resource_sets_name_property.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/resource_with_none_action.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/scoped_file_exist.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/service_resource.rb +2 -1
- data/lib/rubocop/cop/chef/correctness/tmp_path.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/ use_automatic_resource_name.rb +52 -0
- data/lib/rubocop/cop/chef/deprecation/chef_handler_recipe.rb +55 -0
- data/lib/rubocop/cop/chef/deprecation/chef_handler_supports.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/chef_rest.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/chef_rewind.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/chef_windows_platform_helper.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/chefdk_generators.rb +60 -0
- data/lib/rubocop/cop/chef/deprecation/cheffile.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/chefspec_coverage_report.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/chefspec_legacy_runner.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/chocolatey_package_uninstall_action.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/depends_compat_resource.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/depends_partial_search.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/depends_poise.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_chefspec_platform.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_mixins.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_platform_methods.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_shellout_methods.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_windows_version_check.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_properties.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/easy_install.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/eol_audit_mode.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/epic_fail.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/erl_call.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/hwrp_without_provides.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/inherits_compat_resource.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/launchd_deprecated_hash_property.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/legacy_notify_syntax.rb +3 -2
- data/lib/rubocop/cop/chef/deprecation/legacy_yum_cookbook_recipes.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/locale_lc_all_property.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/log_resource_notifications.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/name_property_and_default.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/node_deep_fetch.rb +8 -21
- data/lib/rubocop/cop/chef/deprecation/node_methods_not_attributes.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/node_set.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/node_set_unless.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/node_set_without_level.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/partial_search_class_usage.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/partial_search_helper_usage.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/poise_archive.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/powershell_cookbook_helpers.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/require_recipe.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/resource_overrides_provides_method.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/resource_uses_dsl_name_method.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/resource_uses_only_resource_name.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/resource_uses_provider_base_method.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/resource_uses_updated_method.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/ruby_27_keyword_argument_warnings.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/ruby_block_create_action.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/run_command_helper.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/search_uses_positional_parameters.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/use_inline_resources.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/user_supports_property.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/verify_property_file_expansion.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/windows_feature_servermanagercmd.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/windows_task_change_action.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/windows_version_helpers.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/xml_ruby_recipe.rb +2 -1
- data/lib/rubocop/cop/chef/deprecation/yum_dnf_compat_recipe.rb +2 -1
- data/lib/rubocop/cop/chef/effortless/berksfile.rb +2 -1
- data/lib/rubocop/cop/chef/effortless/data_bags.rb +2 -1
- data/lib/rubocop/cop/chef/effortless/node_environment.rb +2 -1
- data/lib/rubocop/cop/chef/effortless/node_policygroup.rb +2 -1
- data/lib/rubocop/cop/chef/effortless/node_roles.rb +2 -1
- data/lib/rubocop/cop/chef/effortless/search_for_environments_or_roles.rb +2 -1
- data/lib/rubocop/cop/chef/effortless/search_used.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/allowed_actions_initializer.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/apt_default_recipe.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/berksfile_source.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/build_essential.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/chef_14_resources.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/chef_gem_nokogiri.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/compile_time_resources.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/conditional_using_test.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/cron_manage_resource.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/databag_helpers.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/default_action_initializer.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/defines_chefspec_matchers.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/definitions.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/depends_zypper_cookbook.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/dsl_include_in_resource.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/empty_resource_initialize.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/execute_apt_update.rb +3 -2
- data/lib/rubocop/cop/chef/modernize/execute_sc_exe.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/execute_sleep.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/execute_sysctl.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/execute_tzutil.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/foodcritic_comments.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/if_provides_default_action.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/includes_mixin_shellout.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/libarchive_file.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/macos_user_defaults.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/minitest_handler_usage.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/node_init_package.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/node_roles_include.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/ohai_default_recipe.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/openssl_rsa_key_resource.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/openssl_x509_resource.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/osx_config_profile_resource.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/powershell_expand_archive.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/powershell_guard_interpreter.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/powershell_install_package.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/powershell_install_windowsfeature.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/property_with_name_attribute.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/provides_initializer.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/resource_name_initializer.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/resource_set_or_return.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/resource_with_attributes.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/respond_to_compile_time.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/respond_to_metadata.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/respond_to_provides.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/respond_to_resource_name.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/sc_windows_resource.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/seven_zip_archive.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/shell_out_helper.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/shellouts_to_chocolatey.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/simplify_apt_ppa_setup.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/systctl_param_resource.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/unnecessary_mixlib_shellout_require.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/use_multipackage_installs.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/use_require_relative.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/whyrun_supported_true.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/windows_default_recipe.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/windows_registry_uac.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/windows_zipfile.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/zipfile_resource.rb +2 -1
- data/lib/rubocop/cop/chef/modernize/zypper_repo.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/apt_repository_distribution_default.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/apt_repository_notifies_apt_update.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/attribute_metadata.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/conflicts_metadata.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/custom_resource_with_allowed_actions.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/grouping_metadata.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/long_description_metadata.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/multiple_platform_checks.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/name_property_and_required.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/ohai_attribute_to_string.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/property_splat_regex.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/property_with_default_and_required.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/provides_metadata.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/recipe_metadata.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/replaces_metadata.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/resource_with_nothing_action.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/sensitive_property_in_resource.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/string_property_with_nil_default.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/suggests_metadata.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/unnecessary_desired_state.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/unnecessary_name_property.rb +2 -1
- data/lib/rubocop/cop/chef/redundant/use_create_if_missing.rb +2 -1
- data/lib/rubocop/cop/chef/sharing/default_maintainer_metadata.rb +2 -1
- data/lib/rubocop/cop/chef/sharing/empty_metadata_field.rb +2 -1
- data/lib/rubocop/cop/chef/sharing/include_property_descriptions.rb +2 -1
- data/lib/rubocop/cop/chef/sharing/include_resource_descriptions.rb +2 -1
- data/lib/rubocop/cop/chef/sharing/include_resource_examples.rb +2 -1
- data/lib/rubocop/cop/chef/sharing/insecure_cookbook_url.rb +2 -1
- data/lib/rubocop/cop/chef/sharing/invalid_license_string.rb +2 -1
- data/lib/rubocop/cop/chef/style/attribute_keys.rb +2 -1
- data/lib/rubocop/cop/chef/style/chef_whaaat.rb +2 -1
- data/lib/rubocop/cop/chef/style/comment_sentence_spacing.rb +2 -1
- data/lib/rubocop/cop/chef/style/comments_copyright_format.rb +2 -1
- data/lib/rubocop/cop/chef/style/comments_default_copyright.rb +2 -1
- data/lib/rubocop/cop/chef/style/comments_format.rb +2 -1
- data/lib/rubocop/cop/chef/style/file_mode.rb +2 -1
- data/lib/rubocop/cop/chef/style/immediate_notification_timing.rb +2 -1
- data/lib/rubocop/cop/chef/style/include_recipe_with_parentheses.rb +2 -1
- data/lib/rubocop/cop/chef/style/negating_only_if.rb +2 -1
- data/lib/rubocop/cop/chef/style/overly_complex_supports_depends_metadata.rb +2 -1
- data/lib/rubocop/cop/chef/style/simplify_platform_major_version_check.rb +2 -1
- data/lib/rubocop/cop/chef/style/true_false_resource_properties.rb +2 -1
- data/lib/rubocop/cop/chef/style/unnecessary_os_check.rb +3 -3
- data/lib/rubocop/cop/chef/style/unnecessary_platform_case_statement.rb +2 -1
- data/lib/rubocop/cop/chef/style/use_platform_helpers.rb +3 -3
- data/lib/rubocop/monkey_patches/comment_config.rb +1 -0
- data/lib/rubocop/monkey_patches/cop.rb +1 -0
- data/lib/rubocop/monkey_patches/registry_cop.rb +1 -0
- metadata +8 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f2a5a64113481754a334b8f95b80e976875672ca750c506dbdb586c2ccbab598
|
4
|
+
data.tar.gz: 0ff373380e2f388e723a25b6ce1fae3e2447487cfe4c3692f3151e81f412a67a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4b62f764012b0f77378a0fa3d7b97abc249ece2fcc464234ce8c0b68d3bc41692324ce0557652f084a3d923f834973f660aa060206ab9d520fb09bbe75bc3de
|
7
|
+
data.tar.gz: 6f3a5b63437a4dd752b211959915744fa6c6b7cce86c6da0711f950bcba8f1e3d8d40c3b661b19b4f2f5a871d3801316d12d39a29b367c097740852f704e78ee
|
data/Gemfile
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
source 'https://rubygems.org'
|
2
3
|
|
3
4
|
# Specify your gem's dependencies in cookstyle.gemspec
|
@@ -15,6 +16,11 @@ group :docs do
|
|
15
16
|
gem 'yard'
|
16
17
|
end
|
17
18
|
|
19
|
+
group :profiling do
|
20
|
+
gem 'stackprof'
|
21
|
+
gem 'memory_profiler'
|
22
|
+
end
|
23
|
+
|
18
24
|
group :development do
|
19
25
|
gem 'adamantium'
|
20
26
|
gem 'anima'
|
data/bin/cookstyle
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
if ARGV.include?('-h') || ARGV.include?('--help')
|
5
|
+
puts 'Usage: same as main `cookstyle` command but gathers profiling info'
|
6
|
+
puts 'Additional option: `--memory` to print memory usage'
|
7
|
+
exit(0)
|
8
|
+
end
|
9
|
+
with_mem = ARGV.delete('--memory')
|
10
|
+
|
11
|
+
require 'stackprof'
|
12
|
+
if with_mem
|
13
|
+
require 'memory_profiler'
|
14
|
+
MemoryProfiler.start
|
15
|
+
end
|
16
|
+
StackProf.start
|
17
|
+
start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
18
|
+
begin
|
19
|
+
load "#{__dir__}/cookstyle"
|
20
|
+
ensure
|
21
|
+
delta = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start
|
22
|
+
puts "Finished in #{delta.round(1)} seconds"
|
23
|
+
StackProf.stop
|
24
|
+
if with_mem
|
25
|
+
puts 'Building memory report...'
|
26
|
+
report = MemoryProfiler.stop
|
27
|
+
end
|
28
|
+
Dir.mkdir('tmp') unless File.exist?('tmp')
|
29
|
+
StackProf.results('tmp/stackprof.dump')
|
30
|
+
report&.pretty_print(scale_bytes: true)
|
31
|
+
end
|
data/config/cookstyle.yml
CHANGED
@@ -1020,6 +1020,33 @@ ChefDeprecations/ResourceUsesOnlyResourceName:
|
|
1020
1020
|
- '**/libraries/*.rb'
|
1021
1021
|
- '**/resources/*.rb'
|
1022
1022
|
|
1023
|
+
ChefDeprecations/ChefDKGenerators:
|
1024
|
+
Description: 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.
|
1025
|
+
StyleGuide: '#chefdkgenerators'
|
1026
|
+
Enabled: true
|
1027
|
+
VersionAdded: '6.12.0'
|
1028
|
+
Exclude:
|
1029
|
+
- '**/metadata.rb'
|
1030
|
+
- '**/Berksfile'
|
1031
|
+
|
1032
|
+
ChefDeprecations/ChefHandlerRecipe:
|
1033
|
+
Description: There is no need to include the empty and deprecated chef_handler::default recipe in order to use the chef_handler resource.
|
1034
|
+
StyleGuide: '#chefhandlerrecipe'
|
1035
|
+
Enabled: true
|
1036
|
+
VersionAdded: '6.12.0'
|
1037
|
+
Exclude:
|
1038
|
+
- '**/metadata.rb'
|
1039
|
+
- '**/Berksfile'
|
1040
|
+
|
1041
|
+
ChefDeprecations/UseAutomaticResourceName:
|
1042
|
+
Description: The use_automatic_resource_name method was removed in Chef Infra Client 16. The resource name/provides should be set explicitly instead.
|
1043
|
+
StyleGuide: '#useautomaticresourcename'
|
1044
|
+
Enabled: true
|
1045
|
+
VersionAdded: '6.12.0'
|
1046
|
+
Include:
|
1047
|
+
- '**/libraries/*.rb'
|
1048
|
+
- '**/resources/*.rb'
|
1049
|
+
|
1023
1050
|
###############################
|
1024
1051
|
# ChefModernize: Cleaning up legacy code and using new built-in resources
|
1025
1052
|
###############################
|
data/config/disable_all.yml
CHANGED
@@ -223,6 +223,8 @@ Lint/DisjunctiveAssignmentInConstructor:
|
|
223
223
|
Enabled: false
|
224
224
|
Lint/DuplicateCaseCondition:
|
225
225
|
Enabled: false
|
226
|
+
Lint/DuplicateElsifCondition:
|
227
|
+
Enabled: false
|
226
228
|
Lint/DuplicateHashKey:
|
227
229
|
Enabled: false
|
228
230
|
Lint/DuplicateMethods:
|
@@ -427,6 +429,8 @@ Style/Alias:
|
|
427
429
|
Enabled: false
|
428
430
|
Style/AndOr:
|
429
431
|
Enabled: false
|
432
|
+
Style/ArrayCoercion:
|
433
|
+
Enabled: false
|
430
434
|
Style/ArrayJoin:
|
431
435
|
Enabled: false
|
432
436
|
Style/AsciiComments:
|
@@ -447,6 +451,8 @@ Style/BlockDelimiters:
|
|
447
451
|
Enabled: false
|
448
452
|
Style/CaseEquality:
|
449
453
|
Enabled: false
|
454
|
+
Style/CaseLikeIf:
|
455
|
+
Enabled: false
|
450
456
|
Style/CharacterLiteral:
|
451
457
|
Enabled: false
|
452
458
|
Style/ClassAndModuleChildren:
|
@@ -533,8 +539,12 @@ Style/GlobalVars:
|
|
533
539
|
Enabled: false
|
534
540
|
Style/GuardClause:
|
535
541
|
Enabled: false
|
542
|
+
Style/HashAsLastArrayItem:
|
543
|
+
Enabled: false
|
536
544
|
Style/HashEachMethods:
|
537
545
|
Enabled: false
|
546
|
+
Style/HashLikeCase:
|
547
|
+
Enabled: false
|
538
548
|
Style/HashSyntax:
|
539
549
|
Enabled: false
|
540
550
|
Style/HashTransformKeys:
|
@@ -575,6 +585,8 @@ Style/RedundantAssignment:
|
|
575
585
|
Enabled: false
|
576
586
|
Style/RedundantFetchBlock:
|
577
587
|
Enabled: false
|
588
|
+
Style/RedundantFileExtensionInRequire:
|
589
|
+
Enabled: false
|
578
590
|
Style/MethodCalledOnDoEndBlock:
|
579
591
|
Enabled: false
|
580
592
|
Style/MethodDefParentheses:
|
data/config/upstream.yml
CHANGED
@@ -1397,12 +1397,18 @@ Lint/DisjunctiveAssignmentInConstructor:
|
|
1397
1397
|
Enabled: true
|
1398
1398
|
Safe: false
|
1399
1399
|
VersionAdded: '0.62'
|
1400
|
+
VersionChanged: '0.88'
|
1400
1401
|
|
1401
1402
|
Lint/DuplicateCaseCondition:
|
1402
1403
|
Description: 'Do not repeat values in case conditionals.'
|
1403
1404
|
Enabled: true
|
1404
1405
|
VersionAdded: '0.45'
|
1405
1406
|
|
1407
|
+
Lint/DuplicateElsifCondition:
|
1408
|
+
Description: 'Do not repeat conditions used in if `elsif`.'
|
1409
|
+
Enabled: 'pending'
|
1410
|
+
VersionAdded: '0.88'
|
1411
|
+
|
1406
1412
|
Lint/DuplicateHashKey:
|
1407
1413
|
Description: 'Check for duplicate keys in hash literals.'
|
1408
1414
|
Enabled: true
|
@@ -2179,17 +2185,18 @@ Naming/MethodParameterName:
|
|
2179
2185
|
AllowNamesEndingInNumbers: true
|
2180
2186
|
# Allowed names that will not register an offense
|
2181
2187
|
AllowedNames:
|
2182
|
-
-
|
2183
|
-
- id
|
2184
|
-
- to
|
2188
|
+
- at
|
2185
2189
|
- by
|
2186
|
-
-
|
2190
|
+
- db
|
2191
|
+
- id
|
2187
2192
|
- in
|
2188
|
-
-
|
2193
|
+
- io
|
2189
2194
|
- ip
|
2190
|
-
-
|
2195
|
+
- of
|
2196
|
+
- 'on'
|
2191
2197
|
- os
|
2192
2198
|
- pp
|
2199
|
+
- to
|
2193
2200
|
# Forbidden names that will register an offense
|
2194
2201
|
ForbiddenNames: []
|
2195
2202
|
|
@@ -2340,6 +2347,14 @@ Style/AndOr:
|
|
2340
2347
|
- always
|
2341
2348
|
- conditionals
|
2342
2349
|
|
2350
|
+
Style/ArrayCoercion:
|
2351
|
+
Description: >-
|
2352
|
+
Use Array() instead of explicit Array check or [*var], when dealing
|
2353
|
+
with a variable you want to treat as an Array, but you're not certain it's an array.
|
2354
|
+
StyleGuide: '#array-coercion'
|
2355
|
+
Enabled: 'pending'
|
2356
|
+
VersionAdded: '0.88'
|
2357
|
+
|
2343
2358
|
Style/ArrayJoin:
|
2344
2359
|
Description: 'Use Array#join instead of Array#*.'
|
2345
2360
|
StyleGuide: '#array-join'
|
@@ -2522,6 +2537,12 @@ Style/CaseEquality:
|
|
2522
2537
|
# String === "string"
|
2523
2538
|
AllowOnConstant: false
|
2524
2539
|
|
2540
|
+
Style/CaseLikeIf:
|
2541
|
+
Description: 'This cop identifies places where `if-elsif` constructions can be replaced with `case-when`.'
|
2542
|
+
StyleGuide: '#case-vs-if-else'
|
2543
|
+
Enabled: 'pending'
|
2544
|
+
VersionAdded: '0.88'
|
2545
|
+
|
2525
2546
|
Style/CharacterLiteral:
|
2526
2547
|
Description: 'Checks for uses of character literals.'
|
2527
2548
|
StyleGuide: '#no-character-literals'
|
@@ -2961,6 +2982,18 @@ Style/GuardClause:
|
|
2961
2982
|
# needs to have to trigger this cop
|
2962
2983
|
MinBodyLength: 1
|
2963
2984
|
|
2985
|
+
Style/HashAsLastArrayItem:
|
2986
|
+
Description: >-
|
2987
|
+
Checks for presence or absence of braces around hash literal as a last
|
2988
|
+
array item depending on configuration.
|
2989
|
+
StyleGuide: '#hash-literal-as-last-array-item'
|
2990
|
+
Enabled: 'pending'
|
2991
|
+
VersionAdded: '0.88'
|
2992
|
+
EnforcedStyle: braces
|
2993
|
+
SupportedStyles:
|
2994
|
+
- braces
|
2995
|
+
- no_braces
|
2996
|
+
|
2964
2997
|
Style/HashEachMethods:
|
2965
2998
|
Description: 'Use Hash#each_key and Hash#each_value.'
|
2966
2999
|
StyleGuide: '#hash-each'
|
@@ -2968,6 +3001,16 @@ Style/HashEachMethods:
|
|
2968
3001
|
VersionAdded: '0.80'
|
2969
3002
|
Safe: false
|
2970
3003
|
|
3004
|
+
Style/HashLikeCase:
|
3005
|
+
Description: >-
|
3006
|
+
Checks for places where `case-when` represents a simple 1:1
|
3007
|
+
mapping and can be replaced with a hash lookup.
|
3008
|
+
Enabled: 'pending'
|
3009
|
+
VersionAdded: '0.88'
|
3010
|
+
# `MinBranchesCount` defines the number of branches `case` needs to have
|
3011
|
+
# to trigger this cop
|
3012
|
+
MinBranchesCount: 3
|
3013
|
+
|
2971
3014
|
Style/HashSyntax:
|
2972
3015
|
Description: >-
|
2973
3016
|
Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
|
@@ -3665,6 +3708,14 @@ Style/RedundantFetchBlock:
|
|
3665
3708
|
SafeForConstants: false
|
3666
3709
|
VersionAdded: '0.86'
|
3667
3710
|
|
3711
|
+
Style/RedundantFileExtensionInRequire:
|
3712
|
+
Description: >-
|
3713
|
+
Checks for the presence of superfluous `.rb` extension in
|
3714
|
+
the filename provided to `require` and `require_relative`.
|
3715
|
+
StyleGuide: '#no-explicit-rb-to-require'
|
3716
|
+
Enabled: 'pending'
|
3717
|
+
VersionAdded: '0.88'
|
3718
|
+
|
3668
3719
|
Style/RedundantFreeze:
|
3669
3720
|
Description: "Checks usages of Object#freeze on immutable objects."
|
3670
3721
|
Enabled: true
|
data/cookstyle.gemspec
CHANGED
data/lib/cookstyle.rb
CHANGED
data/lib/cookstyle/version.rb
CHANGED
data/lib/rubocop/chef.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Copyright:: Copyright 2019, Chef Software Inc.
|
3
4
|
# Author:: Tim Smith (<tsmith@chef.io>)
|
@@ -37,7 +38,7 @@ module RuboCop
|
|
37
38
|
# end
|
38
39
|
#
|
39
40
|
class BlockGuardWithOnlyString < Cop
|
40
|
-
MSG = 'A resource guard (not_if/only_if) that is a string should not be wrapped in {}. Wrapping a guard string in {} causes it be executed as Ruby code which will always returns true instead of a shell command that will actually run.'
|
41
|
+
MSG = 'A resource guard (not_if/only_if) that is a string should not be wrapped in {}. Wrapping a guard string in {} causes it be executed as Ruby code which will always returns true instead of a shell command that will actually run.'
|
41
42
|
|
42
43
|
def_node_matcher :block_guard_with_only_string?, <<-PATTERN
|
43
44
|
(block (send nil? ${:not_if :only_if}) (args) (str $_) )
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Copyright:: 2019, Chef Software Inc.
|
3
4
|
# Author:: Tim Smith (<tsmith@chef.io>)
|
@@ -33,7 +34,7 @@ module RuboCop
|
|
33
34
|
class CookbooksDependsOnSelf < Cop
|
34
35
|
include RangeHelp
|
35
36
|
|
36
|
-
MSG = 'A cookbook cannot depend on itself. This will fail on Chef Infra Client 13+'
|
37
|
+
MSG = 'A cookbook cannot depend on itself. This will fail on Chef Infra Client 13+'
|
37
38
|
|
38
39
|
def_node_search :dependencies, '(send nil? :depends str ...)'
|
39
40
|
def_node_matcher :cb_name?, '(send nil? :name str ...)'
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Copyright:: Copyright 2020, Chef Software Inc.
|
3
4
|
# Author:: Tim Smith (<tsmith@chef.io>)
|
@@ -29,7 +30,7 @@ module RuboCop
|
|
29
30
|
# raise "Something horrible happened!"
|
30
31
|
#
|
31
32
|
class ChefApplicationFatal < Cop
|
32
|
-
MSG = 'Use raise to force Chef Infra Client to fail instead of using Chef::Application.fatal'
|
33
|
+
MSG = 'Use raise to force Chef Infra Client to fail instead of using Chef::Application.fatal'
|
33
34
|
|
34
35
|
def_node_matcher :application_fatal?, <<-PATTERN
|
35
36
|
(send
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Copyright:: 2020, Chef Software, Inc.
|
3
4
|
# Author:: Tim Smith (<tsmith@chef.io>)
|
@@ -41,7 +42,7 @@ module RuboCop
|
|
41
42
|
#
|
42
43
|
class ConditionalRubyShellout < Cop
|
43
44
|
include RuboCop::Chef::CookbookHelpers
|
44
|
-
MSG = "Don't use Ruby to shellout in an only_if / not_if conditional when you can shellout directly by wrapping the command in quotes."
|
45
|
+
MSG = "Don't use Ruby to shellout in an only_if / not_if conditional when you can shellout directly by wrapping the command in quotes."
|
45
46
|
|
46
47
|
def_node_matcher :conditional_shellout?, <<-PATTERN
|
47
48
|
(block
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Copyright:: Copyright 2019-2020, Chef Software Inc.
|
3
4
|
# Author:: Tim Smith (<tsmith@chef.io>)
|
@@ -37,7 +38,7 @@ module RuboCop
|
|
37
38
|
include RangeHelp
|
38
39
|
include RuboCop::Chef::CookbookHelpers
|
39
40
|
|
40
|
-
MSG = 'dnf_package does not support the allow_downgrades property'
|
41
|
+
MSG = 'dnf_package does not support the allow_downgrades property'
|
41
42
|
|
42
43
|
def on_block(node)
|
43
44
|
match_property_in_resource?(:dnf_package, :allow_downgrades, node) do |prop|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Copyright:: Copyright 2019-2020, Chef Software Inc.
|
3
4
|
# Author:: Tim Smith (<tsmith@chef.io>)
|
@@ -32,7 +33,7 @@ module RuboCop
|
|
32
33
|
# ::Chef::DSL::Recipe.send(:include, Filebeat::Helpers) # covers previous Recipe & Provider classes
|
33
34
|
#
|
34
35
|
class IncorrectLibraryInjection < Cop
|
35
|
-
MSG = 'Libraries should be injected into the Chef::DSL::Recipe class and not Chef::Recipe or Chef::Provider classes directly.'
|
36
|
+
MSG = 'Libraries should be injected into the Chef::DSL::Recipe class and not Chef::Recipe or Chef::Provider classes directly.'
|
36
37
|
|
37
38
|
def_node_matcher :legacy_class_sends?, <<-PATTERN
|
38
39
|
(send (const (const (cbase) :Chef) {:Recipe :Provider}) :send (sym :include) ... )
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Copyright:: 2019, Chef Software, Inc.
|
3
4
|
# Author:: Tim Smith (<tsmith@chef.io>)
|
@@ -35,7 +36,7 @@ module RuboCop
|
|
35
36
|
# end
|
36
37
|
#
|
37
38
|
class InvalidNotificationTiming < Cop
|
38
|
-
MSG = 'Valid notification timings are :immediately, :immediate (alias for :immediately), :delayed, and :before.'
|
39
|
+
MSG = 'Valid notification timings are :immediately, :immediate (alias for :immediately), :delayed, and :before.'
|
39
40
|
|
40
41
|
def_node_matcher :notification_with_timing?, <<-PATTERN
|
41
42
|
(send nil? {:notifies :subscribes} (sym _) (...) $(sym _))
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Copyright:: Copyright 2019, Chef Software Inc.
|
3
4
|
# Author:: Tim Smith (<tsmith@chef.io>)
|
@@ -33,7 +34,7 @@ module RuboCop
|
|
33
34
|
class InvalidPlatformFamilyHelper < Cop
|
34
35
|
include ::RuboCop::Chef::PlatformHelpers
|
35
36
|
|
36
|
-
MSG = 'Pass valid platform families to the platform_family? helper.'
|
37
|
+
MSG = 'Pass valid platform families to the platform_family? helper.'
|
37
38
|
|
38
39
|
def_node_matcher :platform_family_helper?, <<-PATTERN
|
39
40
|
(send nil? :platform_family? $str*)
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Copyright:: Copyright 2020, Chef Software Inc.
|
3
4
|
# Author:: Tim Smith (<tsmith@chef.io>)
|
@@ -32,7 +33,7 @@ module RuboCop
|
|
32
33
|
include RangeHelp
|
33
34
|
include ::RuboCop::Chef::PlatformHelpers
|
34
35
|
|
35
|
-
MSG = 'Use valid platform family values in case statements.'
|
36
|
+
MSG = 'Use valid platform family values in case statements.'
|
36
37
|
|
37
38
|
def_node_matcher :node_platform_family?, <<-PATTERN
|
38
39
|
(send (send nil? :node) :[] (str "platform_family") )
|