cookstyle 6.0.19 → 6.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8630cadf214ce92de0f6c69de2951015e6930943b7fe4e987a0ac5ab0191d73e
4
- data.tar.gz: 4aa39f4879f6eb93bf2ff9cd7922e471eb366d62992474ced13c7f9ac27e0108
3
+ metadata.gz: 2b60366fb42569f18aa8b379dff84bcceeb8ecb6b5feb52753cbd9c41575fd2c
4
+ data.tar.gz: '098c9ff5b266289457e5127b41eb1662191b4453dc0d31fb9a7955ea1774d995'
5
5
  SHA512:
6
- metadata.gz: 7a5aedf9341dd80db77974b72c8e4a07f1aeb2a583764f9d7232ee57860c1e5e3433eb0dcecaadaf45abfc2256d9ca64f220a74747feeb90458931c7a6ca0846
7
- data.tar.gz: 292a4016ac850e050005a7b2f686d8d6c41201372ccb747457cd74eab46ccbbc60f4eac7ed70576829578509a996e58e987f7b4e1c6b9bd49aebac314c60ed4f
6
+ metadata.gz: 94a5cc1725f5264bc1d6abf84e5d8e8bc1e954609ea8ab5a080db7df7db0fc3333ba4d2a53199279f28e3b7567e2f22fe70c1c3564c1b11bd19e6d520790a02c
7
+ data.tar.gz: 113a4e827cd32b5c20e2fbc6ee561255d7a3f1508d930851f799aa6e8bc3d4ae850071fb3f302771cc5774ffec9d80bcd1e392e53e0f713d96acc0e41dee4bbb
@@ -341,6 +341,15 @@ ChefCorrectness/PowershellScriptDeleteFile:
341
341
  - '**/metadata.rb'
342
342
  - '**/Berksfile'
343
343
 
344
+ ChefCorrectness/ConditionalRubyShellout:
345
+ Description: Don't use Ruby to shellout in an only_if / not_if conditional when you can shellout directly by wrapping the command in quotes.
346
+ Enabled: true
347
+ VersionAdded: '6.1.0'
348
+ Exclude:
349
+ - '**/attributes/*.rb'
350
+ - '**/metadata.rb'
351
+ - '**/Berksfile'
352
+
344
353
  ###############################
345
354
  # ChefSharing: Issues that prevent sharing code with other teams or with the Chef community in general
346
355
  ###############################
@@ -377,6 +386,21 @@ ChefSharing/EmptyMetadataField:
377
386
  Include:
378
387
  - '**/metadata.rb'
379
388
 
389
+ ChefSharing/IncludePropertyDescriptions:
390
+ Description: Properties should include description fields to allow automated documention. Requires Chef Infra Client 13.9 or later.
391
+ Enabled: false
392
+ VersionAdded: '6.1.0'
393
+ Include:
394
+ - '**/libraries/*.rb'
395
+ - '**/resources/*.rb'
396
+
397
+ ChefSharing/IncludeResourceDescriptions:
398
+ Description: Resources should include description fields to allow automated documention. Requires Chef Infra Client 13.9 or later.
399
+ Enabled: false
400
+ VersionAdded: '6.1.0'
401
+ Include:
402
+ - '**/resources/*.rb'
403
+
380
404
  ###############################
381
405
  # ChefDeprecations: Resolving Deprecations that block upgrading Chef Infra Client
382
406
  ###############################
@@ -774,6 +798,22 @@ ChefDeprecations/ResourceWithoutNameOrProvides:
774
798
  Include:
775
799
  - '**/libraries/*.rb'
776
800
 
801
+ ChefDeprecations/WindowsVersionHelpers:
802
+ Description: Use node['platform_version'] data instead of the Windows::VersionHelper helper from the Windows cookbook.
803
+ Enabled: true
804
+ VersionAdded: '5.4.0'
805
+ Exclude:
806
+ - '**/metadata.rb'
807
+ - '**/Berksfile'
808
+
809
+ ChefDeprecations/PowershellCookbookHelpers:
810
+ Description: Use node['powershell']['version'] or the new powershell_version helper available in Chef Infra Client 16+ instead of the deprecated PowerShell cookbook helpers.
811
+ Enabled: true
812
+ VersionAdded: '6.1.0'
813
+ Exclude:
814
+ - '**/metadata.rb'
815
+ - '**/Berksfile'
816
+
777
817
  ###############################
778
818
  # ChefModernize: Cleaning up legacy code and using new built-in resources
779
819
  ###############################
@@ -867,13 +907,6 @@ ChefModernize/ExecuteAptUpdate:
867
907
  Exclude:
868
908
  - '**/metadata.rb'
869
909
 
870
- ChefModernize/WindowsVersionHelper:
871
- Description: Use node['platform_version'] data instead of the Windows::VersionHelper helper from the Windows cookbook.
872
- Enabled: true
873
- VersionAdded: '5.4.0'
874
- Exclude:
875
- - '**/metadata.rb'
876
-
877
910
  ChefModernize/MinitestHandlerUsage:
878
911
  Description: Use Chef InSpec for testing instead of the Minitest Handler cookbook pattern.
879
912
  Enabled: true
@@ -1224,6 +1257,14 @@ ChefModernize/DatabagHelpers:
1224
1257
  - '**/metadata.rb'
1225
1258
  - '**/Berksfile'
1226
1259
 
1260
+ ChefModernize/NodeRolesInclude:
1261
+ Description: Use `node.role?('foo')` to check if a node includes a role instead of `node['roles'].include?('foo')`.
1262
+ Enabled: true
1263
+ VersionAdded: '6.1.0'
1264
+ Exclude:
1265
+ - '**/metadata.rb'
1266
+ - '**/Berksfile'
1267
+
1227
1268
  ###############################
1228
1269
  # ChefRedundantCode: Cleanup unnecessary code in your cookbooks regardless of Chef Infra Client release
1229
1270
  ###############################
@@ -1,4 +1,4 @@
1
1
  module Cookstyle
2
- VERSION = "6.0.19".freeze # rubocop: disable Style/StringLiterals
2
+ VERSION = "6.1.6".freeze # rubocop: disable Style/StringLiterals
3
3
  RUBOCOP_VERSION = '0.80.1'.freeze
4
4
  end
@@ -0,0 +1,72 @@
1
+ #
2
+ # Copyright:: 2020, Chef Software, Inc.
3
+ # Author:: Tim Smith (<tsmith@chef.io>)
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ module RuboCop
18
+ module Cop
19
+ module Chef
20
+ module ChefCorrectness
21
+ # Don't use Ruby to shellout in a only_if / not_if conditional when you can just shellout directly. Any string value used with only_if / not_if is executed in your system's shell and the return code of the command is the result for the not_if / only_if determination.
22
+ #
23
+ # @example
24
+ #
25
+ # # bad
26
+ # cookbook_file '/logs/foo/error.log' do
27
+ # source 'error.log'
28
+ # only_if { system('wget https://www.bar.com/foobar.txt -O /dev/null') }
29
+ # end
30
+ #
31
+ # cookbook_file '/logs/foo/error.log' do
32
+ # source 'error.log'
33
+ # only_if { shell_out('wget https://www.bar.com/foobar.txt -O /dev/null').exitstatus == 0 }
34
+ # end
35
+ #
36
+ # # good
37
+ # cookbook_file '/logs/foo/error.log' do
38
+ # source 'error.log'
39
+ # only_if 'wget https://www.bar.com/foobar.txt -O /dev/null'
40
+ # end
41
+ #
42
+ class ConditionalRubyShellout < Cop
43
+ 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.".freeze
45
+
46
+ def_node_matcher :conditional_shellout?, <<-PATTERN
47
+ (block
48
+ (send nil? ${:only_if :not_if})
49
+ (args)
50
+ {(send nil? :system $(str ...))
51
+ (send (send (send nil? :shell_out $(str ...)) :exitstatus) :== (int 0))
52
+ })
53
+ PATTERN
54
+
55
+ def on_block(node)
56
+ conditional_shellout?(node) do
57
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
58
+ end
59
+ end
60
+
61
+ def autocorrect(node)
62
+ lambda do |corrector|
63
+ conditional_shellout?(node) do |type, val|
64
+ corrector.replace(node.loc.expression, "#{type} #{val.source}")
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,61 @@
1
+ #
2
+ # Copyright:: 2020, Chef Software, Inc.
3
+ # Author:: Tim Smith (<tsmith@chef.io>)
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ module RuboCop
18
+ module Cop
19
+ module Chef
20
+ module ChefDeprecations
21
+ # Use node['powershell']['version'] or the new powershell_version helper available in Chef Infra Client 16+ instead of the deprecated PowerShell cookbook helpers
22
+ #
23
+ # @example
24
+ #
25
+ # # bad
26
+ # Powershell::VersionHelper.powershell_version?('4.0')
27
+ #
28
+ # # good
29
+ # node['powershell']['version'].to_f == 4.0
30
+ #
31
+ # # good (Chef Infra Client 16+)
32
+ # powershell_version == 4.0
33
+ #
34
+ class PowershellCookbookHelpers < Cop
35
+ MSG = "Use node['powershell']['version'] or the new powershell_version helper available in Chef Infra Client 16+ instead of the deprecated PowerShell cookbook helpers.".freeze
36
+
37
+ def_node_matcher :ps_cb_helper?, <<-PATTERN
38
+ (send
39
+ (const
40
+ (const {cbase nil?} :Powershell) :VersionHelper) :powershell_version?
41
+ $(...))
42
+ PATTERN
43
+
44
+ def on_send(node)
45
+ ps_cb_helper?(node) do
46
+ add_offense(node, location: :expression, message: MSG, severity: :warning)
47
+ end
48
+ end
49
+
50
+ def autocorrect(node)
51
+ lambda do |corrector|
52
+ ps_cb_helper?(node) do |ver|
53
+ corrector.replace(node.loc.expression, "node['powershell']['version'].to_f == #{ver.source}")
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,74 @@
1
+ #
2
+ # Copyright:: 2019-2020, Chef Software, Inc.
3
+ # Author:: Tim Smith (<tsmith@chef.io>)
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ module RuboCop
18
+ module Cop
19
+ module Chef
20
+ module ChefDeprecations
21
+ # Use node['platform_version'] and node['kernel'] data instead of the deprecated Windows::VersionHelper helpers from the Windows cookbook.
22
+ #
23
+ # @example
24
+ #
25
+ # # bad
26
+ # Windows::VersionHelper.nt_version
27
+ # Windows::VersionHelper.server_version?
28
+ # Windows::VersionHelper.core_version?
29
+ # Windows::VersionHelper.workstation_version?
30
+ #
31
+ # # good
32
+ # node['platform_version'].to_f
33
+ # node['kernel']['product_type'] == 'Server'
34
+ # node['kernel']['server_core']
35
+ # node['kernel']['product_type'] == 'Workstation'
36
+ #
37
+ class WindowsVersionHelpers < Cop
38
+ extend TargetChefVersion
39
+
40
+ minimum_target_chef_version '14.0'
41
+
42
+ MSG = "Use node['platform_version'] and node['kernel'] data introduced in Chef Infra Client 14 instead of the deprecated Windows::VersionHelper helpers from the Windows cookbook.".freeze
43
+
44
+ def_node_matcher :windows_helper?, <<-PATTERN
45
+ (send ( const ( const {nil? cbase} :Windows ) :VersionHelper ) $_ )
46
+ PATTERN
47
+
48
+ def on_send(node)
49
+ windows_helper?(node) do
50
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
51
+ end
52
+ end
53
+
54
+ def autocorrect(node)
55
+ lambda do |corrector|
56
+ windows_helper?(node) do |method|
57
+ case method
58
+ when :nt_version
59
+ corrector.replace(node.loc.expression, 'node[\'platform_version\'].to_f')
60
+ when :server_version?
61
+ corrector.replace(node.loc.expression, 'node[\'kernel\'][\'product_type\'] == \'Server\'')
62
+ when :core_version?
63
+ corrector.replace(node.loc.expression, 'node[\'kernel\'][\'server_core\']')
64
+ when :workstation_version?
65
+ corrector.replace(node.loc.expression, 'node[\'kernel\'][\'product_type\'] == \'Workstation\'')
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -18,9 +18,9 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- # Policyfiles should be used for cookbook dependency solving instead of a Berkshelf Berksfile.
22
- #
23
21
  module ChefEffortless
22
+ # Policyfiles should be used for cookbook dependency solving instead of a Berkshelf Berksfile.
23
+ #
24
24
  class Berksfile < Cop
25
25
  include RangeHelp
26
26
 
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: 2019, Chef Software, Inc.
2
+ # Copyright:: 2019-2020, Chef Software, Inc.
3
3
  # Author:: Tim Smith (<tsmith@chef.io>)
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,7 +18,7 @@ module RuboCop
18
18
  module Cop
19
19
  module Chef
20
20
  module ChefModernize
21
- # Don't depend the zypper cookbook as the zypper_repository resource is built into Chef Infra Client 13.3
21
+ # Don't depend on the zypper cookbook as the zypper_repository resource is built into Chef Infra Client 13.3+
22
22
  #
23
23
  # @example
24
24
  #
@@ -31,7 +31,7 @@ module RuboCop
31
31
 
32
32
  minimum_target_chef_version '13.3'
33
33
 
34
- MSG = "Don't include the zypper cookbook as the zypper_repository resource is built into Chef Infra Client 13.3+".freeze
34
+ MSG = "Don't depend on the zypper cookbook as the zypper_repository resource is built into Chef Infra Client 13.3+".freeze
35
35
 
36
36
  def_node_matcher :zypper_depends?, <<-PATTERN
37
37
  (send nil? :depends (str "zypper"))
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: 2019, Chef Software, Inc.
2
+ # Copyright:: 2020, Chef Software, Inc.
3
3
  # Author:: Tim Smith (<tsmith@chef.io>)
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,28 +18,40 @@ module RuboCop
18
18
  module Cop
19
19
  module Chef
20
20
  module ChefModernize
21
- # Use node['platform_version] data instead of the Windows::VersionHelper helper from the Windows cookbook.
21
+ # Use `node.role?('foo')` to check if a node includes a role instead of `node['roles'].include?('foo')`.
22
22
  #
23
23
  # @example
24
24
  #
25
25
  # # bad
26
- # Windows::VersionHelper.nt_version
26
+ # node['roles'].include?('foo')
27
27
  #
28
28
  # # good
29
- # node['platform_version].to_i
29
+ # node.role?('foo')
30
30
  #
31
- class WindowsVersionHelper < Cop
32
- MSG = "Use node['platform_version'] data instead of the Windows::VersionHelper helper from the Windows cookbook.".freeze
31
+ class NodeRolesInclude < Cop
32
+ MSG = "Use `node.role?('foo')` to check if a node includes a role instead of `node['roles'].include?('foo')`.".freeze
33
33
 
34
- def_node_matcher :windows_helper?, <<-PATTERN
35
- (send ( const ( const {nil? cbase} :Windows ) :VersionHelper ) ... )
34
+ def_node_matcher :node_role_include?, <<-PATTERN
35
+ (send
36
+ (send
37
+ (send nil? :node) :[]
38
+ (str "roles")) :include?
39
+ $(...))
36
40
  PATTERN
37
41
 
38
42
  def on_send(node)
39
- windows_helper?(node) do
43
+ node_role_include?(node) do
40
44
  add_offense(node, location: :expression, message: MSG, severity: :refactor)
41
45
  end
42
46
  end
47
+
48
+ def autocorrect(node)
49
+ lambda do |corrector|
50
+ node_role_include?(node) do |val|
51
+ corrector.replace(node.loc.expression, "node.role?(#{val.source})")
52
+ end
53
+ end
54
+ end
43
55
  end
44
56
  end
45
57
  end
@@ -18,7 +18,7 @@ module RuboCop
18
18
  module Cop
19
19
  module Chef
20
20
  module ChefModernize
21
- # Use the windows_feature resource built into Chef Infra Client 15+ instead of the powershell_script resource
21
+ # Use the windows_feature resource built into Chef Infra Client 14+ instead of the powershell_script resource
22
22
  # to run Install-WindowsFeature or Add-WindowsFeature
23
23
  #
24
24
  # @example
@@ -38,9 +38,9 @@ module RuboCop
38
38
  include RuboCop::Chef::CookbookHelpers
39
39
  extend TargetChefVersion
40
40
 
41
- minimum_target_chef_version '13.0'
41
+ minimum_target_chef_version '14.0'
42
42
 
43
- MSG = 'Use the windows_feature resource built into Chef Infra Client 13+ instead of using Install-WindowsFeature or Add-WindowsFeature in a powershell_script resource'.freeze
43
+ MSG = 'Use the windows_feature resource built into Chef Infra Client 14+ instead of using Install-WindowsFeature or Add-WindowsFeature in a powershell_script resource'.freeze
44
44
 
45
45
  def on_block(node)
46
46
  match_property_in_resource?(:powershell_script, 'code', node) do |code_property|
@@ -0,0 +1,53 @@
1
+ #
2
+ # Copyright:: Copyright 2020, Chef Software Inc.
3
+ # Author:: Tim Smith (<tsmith@chef.io>)
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ module RuboCop
18
+ module Cop
19
+ module Chef
20
+ module ChefSharing
21
+ # Resource properties should include description fields to allow automated documention. Requires Chef Infra Client 13.9 or later.
22
+ #
23
+ # @example
24
+ #
25
+ # # bad
26
+ # property :foo, String
27
+ #
28
+ # # good
29
+ # property :foo, String, description: "Set the important thing to..."
30
+ #
31
+ class IncludePropertyDescriptions < Cop
32
+ extend TargetChefVersion
33
+
34
+ minimum_target_chef_version '13.9'
35
+
36
+ MSG = 'Resource properties should include description fields to allow automated documention. Requires Chef Infra Client 13.9 or later.'.freeze
37
+
38
+ # any method named property being called with a symbol argument and anything else
39
+ def_node_matcher :property?, '(send nil? :property (sym _) ...)'
40
+
41
+ # hash that contains description in any order (that's the <> bit)
42
+ def_node_search :description_hash, '(hash <(pair (sym :description) ...) ...>)'
43
+
44
+ def on_send(node)
45
+ property?(node) do
46
+ add_offense(node, location: :expression, message: MSG, severity: :refactor) unless description_hash(processed_source.ast).any?
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,51 @@
1
+ #
2
+ # Copyright:: Copyright 2020, Chef Software Inc.
3
+ # Author:: Tim Smith (<tsmith@chef.io>)
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ module RuboCop
18
+ module Cop
19
+ module Chef
20
+ module ChefSharing
21
+ # Resources should include description fields to allow automated documention. Requires Chef Infra Client 13.9 or later.
22
+ #
23
+ # @example
24
+ #
25
+ # # good
26
+ # resource_name :foo
27
+ # description "The foo resource is used to do..."
28
+ #
29
+ class IncludeResourceDescriptions < Cop
30
+ include RangeHelp
31
+ extend TargetChefVersion
32
+
33
+ minimum_target_chef_version '13.9'
34
+
35
+ MSG = 'Resources should include description fields to allow automated documention. Requires Chef Infra Client 13.9 or later.'.freeze
36
+
37
+ def investigate(processed_source)
38
+ return if processed_source.blank?
39
+
40
+ # Using range similar to RuboCop::Cop::Naming::Filename (file_name.rb)
41
+ range = source_range(processed_source.buffer, 1, 0)
42
+
43
+ add_offense(nil, location: range, message: MSG, severity: :refactor) unless resource_description(processed_source.ast).any?
44
+ end
45
+
46
+ def_node_search :resource_description, '(send nil? :description str ...)'
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cookstyle
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.19
4
+ version: 6.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thom May
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-03-20 00:00:00.000000000 Z
12
+ date: 2020-03-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rubocop
@@ -52,6 +52,7 @@ files:
52
52
  - lib/rubocop/cop/chef/correctness/block_guard_clause_string_only.rb
53
53
  - lib/rubocop/cop/chef/correctness/cb_depends_on_self.rb
54
54
  - lib/rubocop/cop/chef/correctness/chef_application_fatal.rb
55
+ - lib/rubocop/cop/chef/correctness/conditional_ruby_shellout.rb
55
56
  - lib/rubocop/cop/chef/correctness/dnf_package_allow_downgrades.rb
56
57
  - lib/rubocop/cop/chef/correctness/incorrect_library_injection.rb
57
58
  - lib/rubocop/cop/chef/correctness/invalid_notification_timing.rb
@@ -109,6 +110,7 @@ files:
109
110
  - lib/rubocop/cop/chef/deprecation/partial_search_class_usage.rb
110
111
  - lib/rubocop/cop/chef/deprecation/partial_search_helper_usage.rb
111
112
  - lib/rubocop/cop/chef/deprecation/poise_archive.rb
113
+ - lib/rubocop/cop/chef/deprecation/powershell_cookbook_helpers.rb
112
114
  - lib/rubocop/cop/chef/deprecation/require_recipe.rb
113
115
  - lib/rubocop/cop/chef/deprecation/resource_overrides_provides_method.rb
114
116
  - lib/rubocop/cop/chef/deprecation/resource_uses_dsl_name_method.rb
@@ -123,6 +125,7 @@ files:
123
125
  - lib/rubocop/cop/chef/deprecation/verify_property_file_expansion.rb
124
126
  - lib/rubocop/cop/chef/deprecation/windows_feature_servermanagercmd.rb
125
127
  - lib/rubocop/cop/chef/deprecation/windows_task_change_action.rb
128
+ - lib/rubocop/cop/chef/deprecation/windows_version_helpers.rb
126
129
  - lib/rubocop/cop/chef/deprecation/xml_ruby_recipe.rb
127
130
  - lib/rubocop/cop/chef/deprecation/yum_dnf_compat_recipe.rb
128
131
  - lib/rubocop/cop/chef/effortless/berksfile.rb
@@ -159,6 +162,7 @@ files:
159
162
  - lib/rubocop/cop/chef/modernize/macos_user_defaults.rb
160
163
  - lib/rubocop/cop/chef/modernize/minitest_handler_usage.rb
161
164
  - lib/rubocop/cop/chef/modernize/node_init_package.rb
165
+ - lib/rubocop/cop/chef/modernize/node_roles_include.rb
162
166
  - lib/rubocop/cop/chef/modernize/ohai_default_recipe.rb
163
167
  - lib/rubocop/cop/chef/modernize/openssl_rsa_key_resource.rb
164
168
  - lib/rubocop/cop/chef/modernize/openssl_x509_resource.rb
@@ -186,7 +190,6 @@ files:
186
190
  - lib/rubocop/cop/chef/modernize/whyrun_supported_true.rb
187
191
  - lib/rubocop/cop/chef/modernize/windows_default_recipe.rb
188
192
  - lib/rubocop/cop/chef/modernize/windows_registry_uac.rb
189
- - lib/rubocop/cop/chef/modernize/windows_version_helper.rb
190
193
  - lib/rubocop/cop/chef/modernize/windows_zipfile.rb
191
194
  - lib/rubocop/cop/chef/modernize/zipfile_resource.rb
192
195
  - lib/rubocop/cop/chef/modernize/zypper_repo.rb
@@ -211,6 +214,8 @@ files:
211
214
  - lib/rubocop/cop/chef/redundant/unnecessary_name_property.rb
212
215
  - lib/rubocop/cop/chef/sharing/default_maintainer_metadata.rb
213
216
  - lib/rubocop/cop/chef/sharing/empty_metadata_field.rb
217
+ - lib/rubocop/cop/chef/sharing/include_property_descriptions.rb
218
+ - lib/rubocop/cop/chef/sharing/include_resource_descriptions.rb
214
219
  - lib/rubocop/cop/chef/sharing/insecure_cookbook_url.rb
215
220
  - lib/rubocop/cop/chef/sharing/invalid_license_string.rb
216
221
  - lib/rubocop/cop/chef/style/attribute_keys.rb