cookstyle 7.16.1 → 7.20.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '029dae7e633891d64673dbd8098a21e80f6d2486d887dc01c593fed5c16d9677'
4
- data.tar.gz: 2eb8ce0b238dc9c1783bca17b2800f0511c9f1ce02f7ff47d7a3857e7dc2bb5f
3
+ metadata.gz: 1beeee72a35f1c32830c7c968ba50d7a277bed019de89697fb54e232d53cfa3d
4
+ data.tar.gz: 98a912f077a8d14033a03ace34622f1b651dec2b1aea69e3c7c8121f9c487423
5
5
  SHA512:
6
- metadata.gz: 49abaf63bbf1c6e6a11909d4fcad7385256472ea66093459b371e67c438b022fb337554b265c9f55d2ccaaa2c904b4a1d6c91a8f4e936ac74d9017d1757b8975
7
- data.tar.gz: c0ff0119835855ac64d543b15b586302da74659768926517fd107b0d3b4e3fba502b97d6fd5640a31eb4cd3a3b9544d29e418e0ae25900eda958e7deade23764
6
+ metadata.gz: b7a79148cf57524f1df2f880fcaea77f82cff8d87f1b2e347c1f0ed39a6629bfd91436caa4c7a6b55d99da6d2429e8bea99d9feeb78bc29585458bddf739f4a1
7
+ data.tar.gz: 6793431fc22cb1de03923569fcf0d2fb57fe3e0b646df99579752fa999d1898956b799dd2734b1e0459bc156fb48081ba685ad0fbedd45204b3b45a9438a5101
data/config/cookstyle.yml CHANGED
@@ -489,6 +489,15 @@ Chef/Correctness/MetadataMalformedDepends:
489
489
  Include:
490
490
  - '**/metadata.rb'
491
491
 
492
+ Chef/Correctness/PowershellFileExists:
493
+ Description: Use Ruby's built-in `File.exist?('C:\somefile')` method instead of executing PowerShell's `Test-Path` cmdlet, which takes longer to load.
494
+ StyleGuide: 'chef_correctness_powershellfileexists'
495
+ Enabled: true
496
+ VersionAdded: '7.19'
497
+ Exclude:
498
+ - '**/metadata.rb'
499
+ - '**/Berksfile'
500
+
492
501
  ###############################
493
502
  # Chef/Sharing: Issues that prevent sharing code with other teams or with the Chef community in general
494
503
  ###############################
@@ -1225,6 +1234,42 @@ Chef/Deprecations/PolicyfileCommunitySource:
1225
1234
  Include:
1226
1235
  - '**/Policyfile.rb'
1227
1236
 
1237
+ Chef/Deprecations/DeprecatedSudoActions:
1238
+ Description: The `sudo` resource in the sudo cookbook 5.0 (2018) or Chef Infra Client 14 and later have replaced the existing `:install` and `:remove` actions with `:create` and `:delete` actions to better match other resources in Chef Infra.
1239
+ StyleGuide: 'chef_deprecations_deprecatedsudoactions'
1240
+ Enabled: true
1241
+ VersionAdded: '7.18.0'
1242
+ Exclude:
1243
+ - '**/spec/**/*.rb'
1244
+ - '**/metadata.rb'
1245
+ - '**/attributes/*.rb'
1246
+ - '**/Berksfile'
1247
+ - '**/Rakefile'
1248
+
1249
+ Chef/Deprecations/DependsOnChefNginxCookbook:
1250
+ Description: Don't depend on the deprecated `chef_nginx` cookbook that was replaced by the `nginx` cookbook. The legacy chef_nginx cookbook may not be compatible with newer Chef Infra Client releases.
1251
+ StyleGuide: 'chef_deprecations_dependsonchefnginxcookbook'
1252
+ Enabled: true
1253
+ VersionAdded: '7.20.0'
1254
+ Include:
1255
+ - '**/metadata.rb'
1256
+
1257
+ Chef/Deprecations/DependsOnChefReportingCookbook:
1258
+ Description: Don't depend on the chef-reporting cookbook made obsolete by Chef Infra Client 11.6. This cookbook installs a gem that is not compatible with newer Chef Infra Client releases.
1259
+ StyleGuide: 'chef_deprecations_dependsonchefreportingcookbook'
1260
+ Enabled: true
1261
+ VersionAdded: '7.20.0'
1262
+ Include:
1263
+ - '**/metadata.rb'
1264
+
1265
+ Chef/Deprecations/DependsOnOmnibusUpdaterCookbook:
1266
+ Description: Don't depend on the EOL `omnibus_updater` cookbook. This cookbook no longer works with newer Chef Infra Client releases and has been replaced by with the more reliable `chef_client_updater` cookbook.
1267
+ StyleGuide: 'chef_deprecations_dependsonomnibusupdatercookbook'
1268
+ Enabled: true
1269
+ VersionAdded: '7.20.0'
1270
+ Include:
1271
+ - '**/metadata.rb'
1272
+
1228
1273
  ###############################
1229
1274
  # Chef/Modernize: Cleaning up legacy code and using new built-in resources
1230
1275
  ###############################
@@ -1251,7 +1296,7 @@ Chef/Modernize/WhyRunSupportedTrue:
1251
1296
  - '**/libraries/*.rb'
1252
1297
 
1253
1298
  Chef/Modernize/UnnecessaryDependsChef14:
1254
- Description: Don't depend on cookbooks made obsolete by Chef Infra Client 14+. These community cookbooks contain resources that are now included in Chef Infra Client itself.
1299
+ Description: Don't depend on cookbooks made obsolete by Chef Infra Client 14.0+. These community cookbooks contain resources that are now included in Chef Infra Client itself.
1255
1300
  StyleGuide: 'chef_modernize_unnecessarydependschef14'
1256
1301
  Enabled: true
1257
1302
  VersionAdded: '5.1.0'
@@ -1377,7 +1422,7 @@ Chef/Modernize/SevenZipArchiveResource:
1377
1422
  - '**/metadata.rb'
1378
1423
 
1379
1424
  Chef/Modernize/LibarchiveFileResource:
1380
- Description: Use the archive_file resource built into Chef Infra Client 15+ instead of the libarchive file resource
1425
+ Description: Use the archive_file resource built into Chef Infra Client 15+ instead of the libarchive file resource from the libarchive cookbook
1381
1426
  StyleGuide: 'chef_modernize_libarchivefileresource'
1382
1427
  Enabled: true
1383
1428
  VersionAdded: '5.5.0'
@@ -1787,6 +1832,70 @@ Chef/Modernize/ActionMethodInResource:
1787
1832
  - '**/resources/*.rb'
1788
1833
  - '**/providers/*.rb'
1789
1834
 
1835
+ Chef/Modernize/UnnecessaryDependsChef15:
1836
+ Description: Don't depend on cookbooks made obsolete by Chef Infra Client 15.0+. These community cookbooks contain resources that are now included in Chef Infra Client itself.
1837
+ StyleGuide: 'chef_modernize_unnecessarydependschef15'
1838
+ Enabled: true
1839
+ VersionAdded: '7.19.0'
1840
+ Include:
1841
+ - '**/metadata.rb'
1842
+
1843
+ Chef/Modernize/DependsOnLocaleCookbook:
1844
+ Description: Don't depend on the locale cookbook made obsolete by Chef Infra Client 14.5. The locale resource is now included in Chef Infra Client itself.
1845
+ StyleGuide: 'chef_modernize_dependsonlocalecookbook'
1846
+ Enabled: true
1847
+ VersionAdded: '7.19.0'
1848
+ Include:
1849
+ - '**/metadata.rb'
1850
+
1851
+ Chef/Modernize/DependsOnTimezoneLwrpCookbook:
1852
+ Description: Don't depend on the timezone_lwrp cookbook made obsolete by Chef Infra Client 14.6. The timezone resource is now included in Chef Infra Client itself.
1853
+ StyleGuide: 'chef_modernize_dependsontimezonelwrpcookbook'
1854
+ Enabled: true
1855
+ VersionAdded: '7.19.0'
1856
+ Include:
1857
+ - '**/metadata.rb'
1858
+
1859
+ Chef/Modernize/DependsOnWindowsFirewallCookbook:
1860
+ Description: Don't depend on the windows_firewall cookbook made obsolete by Chef Infra Client 14.7. The windows_firewall resource is now included in Chef Infra Client itself.
1861
+ StyleGuide: 'chef_modernize_dependsonwindowsfirewallcookbook'
1862
+ Enabled: true
1863
+ VersionAdded: '7.19.0'
1864
+ Include:
1865
+ - '**/metadata.rb'
1866
+
1867
+ Chef/Modernize/DependsOnKernelModuleCookbook:
1868
+ Description: Don't depend on the kernel_module cookbook made obsolete by Chef Infra Client 14.3. The kernel_module resource is now included in Chef Infra Client itself.
1869
+ StyleGuide: 'chef_modernize_dependsonkernelmodulecookbook'
1870
+ Enabled: true
1871
+ VersionAdded: '7.19.0'
1872
+ Include:
1873
+ - '**/metadata.rb'
1874
+
1875
+ Chef/Modernize/DependsOnChefVaultCookbook:
1876
+ Description: Don't depend on the chef-vault cookbook made obsolete by Chef Infra Client 16.0. The chef-vault gem and helpers are now included in Chef Infra Client itself.
1877
+ StyleGuide: 'chef_modernize_dependsonchefvaultcookbook'
1878
+ Enabled: true
1879
+ VersionAdded: '7.20.0'
1880
+ Include:
1881
+ - '**/metadata.rb'
1882
+
1883
+ Chef/Modernize/DependsOnChocolateyCookbooks:
1884
+ Description: Don't depend on the chocolatey_source or chocolatey_config cookbooks made obsolete by Chef Infra Client 14.3. The chocolatey_source and chocolatey_config resources are now included in Chef Infra Client itself.
1885
+ StyleGuide: 'chef_modernize_dependsonchocolateycookbooks'
1886
+ Enabled: true
1887
+ VersionAdded: '7.20.0'
1888
+ Include:
1889
+ - '**/metadata.rb'
1890
+
1891
+ Chef/Modernize/DependsOnOpensslCookbook:
1892
+ Description: Don't depend on the openssl cookbook which was made obsolete by Chef Infra Client 14.4. All openssl resource are now included directly in Chef Infra Client.
1893
+ StyleGuide: 'chef_modernize_dependsonopensslcookbook'
1894
+ Enabled: true
1895
+ VersionAdded: '7.20.0'
1896
+ Include:
1897
+ - '**/metadata.rb'
1898
+
1790
1899
  ###############################
1791
1900
  # Chef/RedundantCode: Cleanup unnecessary code in your cookbooks regardless of Chef Infra Client release
1792
1901
  ###############################
@@ -219,6 +219,8 @@ Lint/AmbiguousBlockAssociation:
219
219
  Enabled: false
220
220
  Lint/AmbiguousOperator:
221
221
  Enabled: false
222
+ Lint/AmbiguousRange:
223
+ Enabled: false
222
224
  Lint/AmbiguousRegexpLiteral:
223
225
  Enabled: false
224
226
  Lint/AssignmentInCondition:
@@ -705,6 +707,8 @@ Style/RedundantFileExtensionInRequire:
705
707
  Enabled: false
706
708
  Style/RedundantSelfAssignment:
707
709
  Enabled: false
710
+ Style/RedundantSelfAssignmentBranch:
711
+ Enabled: false
708
712
  Style/SoleNestedConditional:
709
713
  Enabled: false
710
714
  Style/StaticClass:
data/config/upstream.yml CHANGED
@@ -1434,6 +1434,13 @@ Lint/AmbiguousOperator:
1434
1434
  VersionAdded: '0.17'
1435
1435
  VersionChanged: '0.83'
1436
1436
 
1437
+ Lint/AmbiguousRange:
1438
+ Description: Checks for ranges with ambiguous boundaries.
1439
+ Enabled: pending
1440
+ VersionAdded: '1.19'
1441
+ SafeAutoCorrect: false
1442
+ RequireParenthesesForMethodChains: false
1443
+
1437
1444
  Lint/AmbiguousRegexpLiteral:
1438
1445
  Description: >-
1439
1446
  Checks for ambiguous regexp literals in the first argument of
@@ -1824,7 +1831,6 @@ Lint/MultipleComparison:
1824
1831
  Enabled: true
1825
1832
  VersionAdded: '0.47'
1826
1833
  VersionChanged: '1.1'
1827
- AllowMethodComparison: true
1828
1834
 
1829
1835
  Lint/NestedMethodDefinition:
1830
1836
  Description: 'Do not use nested method definitions.'
@@ -2557,6 +2563,7 @@ Naming/InclusiveLanguage:
2557
2563
  - denylist
2558
2564
  - block
2559
2565
  slave:
2566
+ WholeWord: true
2560
2567
  Suggestions: ['replica', 'secondary', 'follower']
2561
2568
 
2562
2569
  Naming/MemoizedInstanceVariableName:
@@ -3155,8 +3162,9 @@ Style/CommentAnnotation:
3155
3162
  Style/CommentedKeyword:
3156
3163
  Description: 'Do not place comments on the same line as certain keywords.'
3157
3164
  Enabled: true
3165
+ SafeAutoCorrect: false
3158
3166
  VersionAdded: '0.51'
3159
- VersionChanged: '1.7'
3167
+ VersionChanged: '1.19'
3160
3168
 
3161
3169
  Style/ConditionalAssignment:
3162
3170
  Description: >-
@@ -3603,8 +3611,9 @@ Style/IdenticalConditionalBranches:
3603
3611
  line at the end of each branch, which can validly be moved
3604
3612
  out of the conditional.
3605
3613
  Enabled: true
3614
+ SafeAutoCorrect: false
3606
3615
  VersionAdded: '0.36'
3607
- VersionChanged: '1.16'
3616
+ VersionChanged: '1.19'
3608
3617
 
3609
3618
  Style/IfInsideElse:
3610
3619
  Description: 'Finds if nodes inside else, which can be converted to elsif.'
@@ -3929,6 +3938,7 @@ Style/MultipleComparison:
3929
3938
  Enabled: true
3930
3939
  VersionAdded: '0.49'
3931
3940
  VersionChanged: '1.1'
3941
+ AllowMethodComparison: true
3932
3942
 
3933
3943
  Style/MutableConstant:
3934
3944
  Description: 'Do not assign mutable objects to constants.'
@@ -4152,6 +4162,7 @@ Style/OptionHash:
4152
4162
  - args
4153
4163
  - params
4154
4164
  - parameters
4165
+ Allowlist: []
4155
4166
 
4156
4167
  Style/OptionalArguments:
4157
4168
  Description: >-
@@ -4404,6 +4415,11 @@ Style/RedundantSelfAssignment:
4404
4415
  Safe: false
4405
4416
  VersionAdded: '0.90'
4406
4417
 
4418
+ Style/RedundantSelfAssignmentBranch:
4419
+ Description: 'Checks for places where conditional branch makes redundant self-assignment.'
4420
+ Enabled: pending
4421
+ VersionAdded: '1.19'
4422
+
4407
4423
  Style/RedundantSort:
4408
4424
  Description: >-
4409
4425
  Use `min` instead of `sort.first`,
@@ -4575,6 +4591,7 @@ Style/SpecialGlobalVars:
4575
4591
  VersionAdded: '0.13'
4576
4592
  VersionChanged: '0.36'
4577
4593
  SafeAutoCorrect: false
4594
+ RequireEnglish: true
4578
4595
  EnforcedStyle: use_english_names
4579
4596
  SupportedStyles:
4580
4597
  - use_perl_names
@@ -4895,7 +4912,7 @@ Style/VariableInterpolation:
4895
4912
 
4896
4913
  Style/WhenThen:
4897
4914
  Description: 'Use when x then ... for one-line cases.'
4898
- StyleGuide: '#one-line-cases'
4915
+ StyleGuide: '#no-when-semicolons'
4899
4916
  Enabled: true
4900
4917
  VersionAdded: '0.9'
4901
4918
 
@@ -4919,7 +4936,7 @@ Style/WordArray:
4919
4936
  StyleGuide: '#percent-w'
4920
4937
  Enabled: true
4921
4938
  VersionAdded: '0.9'
4922
- VersionChanged: '0.36'
4939
+ VersionChanged: '1.19'
4923
4940
  EnforcedStyle: percent
4924
4941
  SupportedStyles:
4925
4942
  # percent style: %w(word1 word2)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  module Cookstyle
3
- VERSION = "7.16.1" # rubocop: disable Style/StringLiterals
4
- RUBOCOP_VERSION = '1.18.4'
3
+ VERSION = "7.20.0" # rubocop: disable Style/StringLiterals
4
+ RUBOCOP_VERSION = '1.19.0'
5
5
  end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2021, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Correctness
22
+ # Use Ruby's built-in `File.exist?('C:\somefile')` method instead of executing PowerShell's `Test-Path` cmdlet, which takes longer to load.
23
+ #
24
+ # @example
25
+ #
26
+ # #### incorrect
27
+ # powershell_out('Test-Path "C:\\Program Files\\LAPS\\CSE\\AdmPwd.dll"').stdout.strip == 'True'
28
+ #
29
+ # #### correct
30
+ # ::File.exist?('C:\Program Files\LAPS\CSE\AdmPwd.dll')
31
+ #
32
+ class PowershellFileExists < Base
33
+ RESTRICT_ON_SEND = [:powershell_out, :powershell_out!].freeze
34
+ MSG = "Use Ruby's built-in `File.exist?('C:\\somefile')` method instead of executing PowerShell's `Test-Path` cmdlet, which takes longer to load."
35
+
36
+ def_node_matcher :powershell_out_exists?, <<-PATTERN
37
+ (send nil? {:powershell_out :powershell_out!} (str $_))
38
+ PATTERN
39
+
40
+ def on_send(node)
41
+ powershell_out_exists?(node) do |exists_string|
42
+ return unless exists_string.match?(/^Test-Path/)
43
+ add_offense(node, message: MSG, severity: :refactor)
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2021, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Deprecations
22
+ # Don't depend on the deprecated `chef_nginx` cookbook that was replaced by the `nginx` cookbook. The legacy chef_nginx cookbook may not be compatible with newer Chef Infra Client releases.
23
+ #
24
+ # @example
25
+ #
26
+ # #### incorrect
27
+ # depends 'chef_nginx'
28
+ #
29
+ # #### correct
30
+ # depends 'nginx'
31
+ #
32
+ class DependsOnChefNginxCookbook < Base
33
+ include RangeHelp
34
+ extend AutoCorrector
35
+
36
+ MSG = "Don't depend on the deprecated `chef_nginx` cookbook that was replaced by the `nginx` cookbook."
37
+ RESTRICT_ON_SEND = [:depends].freeze
38
+
39
+ def_node_matcher :depends_compat_resource?, <<-PATTERN
40
+ (send nil? :depends (str {"chef_nginx"}))
41
+ PATTERN
42
+
43
+ def on_send(node)
44
+ depends_compat_resource?(node) do
45
+ add_offense(node, message: MSG, severity: :warning) do |corrector|
46
+ corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2021, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Deprecations
22
+ # Don't depend on the chef-reporting cookbook made obsolete by Chef Infra Client 11.6. This cookbook installs a gem that is not compatible with newer Chef Infra Client releases.
23
+ #
24
+ # @example
25
+ #
26
+ # #### incorrect
27
+ # depends 'chef-reporting'
28
+ #
29
+ class DependsOnChefReportingCookbook < Base
30
+ extend AutoCorrector
31
+ include RangeHelp
32
+
33
+ MSG = "Don't depend on the chef-reporting cookbook made obsolete by Chef Infra Client 11.6. This cookbook installs a gem that is not compatible with newer Chef Infra Client releases."
34
+ RESTRICT_ON_SEND = [:depends].freeze
35
+
36
+ def_node_matcher :legacy_depends?, <<-PATTERN
37
+ (send nil? :depends (str "chef-reporting") ... )
38
+ PATTERN
39
+
40
+ def on_send(node)
41
+ legacy_depends?(node) do
42
+ add_offense(node, message: MSG, severity: :warning) do |corrector|
43
+ corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2021, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Deprecations
22
+ # Don't depend on the EOL `omnibus_updater` cookbook. This cookbook no longer works with newer Chef Infra Client releases and has been replaced by with the more reliable `chef_client_updater` cookbook.
23
+ #
24
+ # @example
25
+ #
26
+ # #### incorrect
27
+ # depends 'omnibus_updater'
28
+ #
29
+ # #### correct
30
+ # depends 'chef_client_updater'
31
+ #
32
+ class DependsOnOmnibusUpdaterCookbook < Base
33
+ extend AutoCorrector
34
+ include RangeHelp
35
+
36
+ MSG = "Don't depend on the EOL `omnibus_updater` cookbook. This cookbook no longer works with newer Chef Infra Client releases and has been replaced by with the more reliable `chef_client_updater` cookbook."
37
+ RESTRICT_ON_SEND = [:depends].freeze
38
+
39
+ def_node_matcher :legacy_depends?, <<-PATTERN
40
+ (send nil? :depends (str "omnibus_updater") ... )
41
+ PATTERN
42
+
43
+ def on_send(node)
44
+ legacy_depends?(node) do
45
+ add_offense(node, message: MSG, severity: :warning) do |corrector|
46
+ corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2021, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Deprecations
22
+ # The `sudo` resource in the sudo cookbook 5.0 (2018) or Chef Infra Client 14 and later have replaced the existing `:install` and `:remove` actions with `:create` and `:delete` actions to better match other resources in Chef Infra.
23
+ #
24
+ # @example
25
+ #
26
+ # #### incorrect
27
+ # sudo 'admins' do
28
+ # users 'bob'
29
+ # groups 'sysadmins, superusers'
30
+ # action :remove
31
+ # end
32
+ #
33
+ # #### correct
34
+ # sudo 'admins' do
35
+ # users 'bob'
36
+ # groups 'sysadmins, superusers'
37
+ # action :delete
38
+ # end
39
+ #
40
+ class DeprecatedSudoActions < Base
41
+ include RuboCop::Chef::CookbookHelpers
42
+ extend TargetChefVersion
43
+ extend AutoCorrector
44
+
45
+ minimum_target_chef_version '14.0'
46
+
47
+ MSG = 'The `sudo` resource in the sudo cookbook 5.0 (2018) or Chef Infra Client 14 and later have replaced the existing `:install` and `:remove` actions with `:create` and `:delete` actions to better match other resources in Chef Infra.'
48
+
49
+ def on_block(node)
50
+ match_property_in_resource?(:sudo, 'action', node) do |prop_node|
51
+ next unless prop_node.arguments.first.sym_type?
52
+ next unless [s(:sym, :install), s(:sym, :remove)].include?(prop_node.arguments.first)
53
+
54
+ add_offense(prop_node, message: MSG, severity: :warning) do |corrector|
55
+ corrector.replace(prop_node, prop_node.source
56
+ .gsub('install', 'create')
57
+ .gsub('remove', 'delete'))
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -19,7 +19,7 @@ module RuboCop
19
19
  module Cop
20
20
  module Chef
21
21
  module Modernize
22
- # Don't depend on cookbooks made obsolete by Chef Infra Client 14+. These community cookbooks contain resources that are now included in Chef Infra Client itself.
22
+ # Don't depend on cookbooks made obsolete by Chef Infra Client 14.0+ These community cookbooks contain resources that are now included in Chef Infra Client itself.
23
23
  #
24
24
  # @example
25
25
  #
@@ -39,7 +39,7 @@ module RuboCop
39
39
 
40
40
  minimum_target_chef_version '14.0'
41
41
 
42
- MSG = "Don't depend on cookbooks made obsolete by Chef Infra Client 14+. These community cookbooks contain resources that are now included in Chef Infra Client itself."
42
+ MSG = "Don't depend on cookbooks made obsolete by Chef Infra Client 14.0+. These community cookbooks contain resources that are now included in Chef Infra Client itself."
43
43
  RESTRICT_ON_SEND = [:depends].freeze
44
44
 
45
45
  def_node_matcher :legacy_depends?, <<-PATTERN
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2021, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Modernize
22
+ # Don't depend on cookbooks made obsolete by Chef Infra Client 15.0+. These community cookbooks contain resources that are now included in Chef Infra Client itself.
23
+ #
24
+ # @example
25
+ #
26
+ # #### incorrect
27
+ # depends 'libarchive'
28
+ # depends 'windows_dns'
29
+ # depends 'windows_uac'
30
+ # depends 'windows_dfs'
31
+ #
32
+ class UnnecessaryDependsChef15 < Base
33
+ extend AutoCorrector
34
+ extend TargetChefVersion
35
+ include RangeHelp
36
+
37
+ minimum_target_chef_version '15.0'
38
+
39
+ MSG = "Don't depend on cookbooks made obsolete by Chef Infra Client 15.0+. These community cookbooks contain resources that are now included in Chef Infra Client itself."
40
+ RESTRICT_ON_SEND = [:depends].freeze
41
+
42
+ def_node_matcher :legacy_depends?, <<-PATTERN
43
+ (send nil? :depends (str {"libarchive" "windows_dns" "windows_uac" "windows_dfs"}) ... )
44
+ PATTERN
45
+
46
+ def on_send(node)
47
+ legacy_depends?(node) do
48
+ add_offense(node, message: MSG, severity: :refactor) do |corrector|
49
+ corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2021, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Modernize
22
+ # Don't depend on the chef-vault cookbook made obsolete by Chef Infra Client 16.0. The chef-vault gem and helpers are now included in Chef Infra Client itself.
23
+ #
24
+ # @example
25
+ #
26
+ # #### incorrect
27
+ # depends 'chef-vault'
28
+ #
29
+ class DependsOnChefVaultCookbook < Base
30
+ extend AutoCorrector
31
+ extend TargetChefVersion
32
+ include RangeHelp
33
+
34
+ minimum_target_chef_version '16.0'
35
+
36
+ MSG = "Don't depend on the chef-vault cookbook made obsolete by Chef Infra Client 16.0. The chef-vault gem and helpers are now included in Chef Infra Client itself."
37
+ RESTRICT_ON_SEND = [:depends].freeze
38
+
39
+ def_node_matcher :legacy_depends?, <<-PATTERN
40
+ (send nil? :depends (str "chef-vault") ... )
41
+ PATTERN
42
+
43
+ def on_send(node)
44
+ legacy_depends?(node) do
45
+ add_offense(node, message: MSG, severity: :refactor) do |corrector|
46
+ corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2021, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Modernize
22
+ # Don't depend on the chocolatey_source or chocolatey_config cookbooks made obsolete by Chef Infra Client 14.3. The chocolatey_source and chocolatey_config resources are now included in Chef Infra Client itself.
23
+ #
24
+ # @example
25
+ #
26
+ # #### incorrect
27
+ # depends 'chocolatey_source'
28
+ # depends 'chocolatey_config'
29
+ #
30
+ class DependsOnChocolateyCookbooks < Base
31
+ extend AutoCorrector
32
+ extend TargetChefVersion
33
+ include RangeHelp
34
+
35
+ minimum_target_chef_version '14.3'
36
+
37
+ MSG = "Don't depend on the chocolatey_source or chocolatey_config cookbooks made obsolete by Chef Infra Client 14.3. The chocolatey_source and chocolatey_config resources are now included in Chef Infra Client itself."
38
+ RESTRICT_ON_SEND = [:depends].freeze
39
+
40
+ def_node_matcher :legacy_depends?, <<-PATTERN
41
+ (send nil? :depends (str {"chocolatey_source" "chocolatey_config"}) ... )
42
+ PATTERN
43
+
44
+ def on_send(node)
45
+ legacy_depends?(node) do
46
+ add_offense(node, message: MSG, severity: :refactor) do |corrector|
47
+ corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2021, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Modernize
22
+ # Don't depend on the kernel_module cookbook made obsolete by Chef Infra Client 14.3. The kernel_module resource is now included in Chef Infra Client itself.
23
+ #
24
+ # @example
25
+ #
26
+ # #### incorrect
27
+ # depends 'kernel_module'
28
+ #
29
+ class DependsOnKernelModuleCookbook < Base
30
+ extend AutoCorrector
31
+ extend TargetChefVersion
32
+ include RangeHelp
33
+
34
+ minimum_target_chef_version '14.3'
35
+
36
+ MSG = "Don't depend on the kernel_module cookbook made obsolete by Chef Infra Client 14.3. The kernel_module resource is now included in Chef Infra Client itself."
37
+ RESTRICT_ON_SEND = [:depends].freeze
38
+
39
+ def_node_matcher :legacy_depends?, <<-PATTERN
40
+ (send nil? :depends (str "kernel_module") ... )
41
+ PATTERN
42
+
43
+ def on_send(node)
44
+ legacy_depends?(node) do
45
+ add_offense(node, message: MSG, severity: :refactor) do |corrector|
46
+ corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2021, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Modernize
22
+ # Don't depend on the locale cookbook made obsolete by Chef Infra Client 14.5. The locale resource is now included in Chef Infra Client itself.
23
+ #
24
+ # @example
25
+ #
26
+ # #### incorrect
27
+ # depends 'locale'
28
+ #
29
+ class DependsOnLocaleCookbook < Base
30
+ extend AutoCorrector
31
+ extend TargetChefVersion
32
+ include RangeHelp
33
+
34
+ minimum_target_chef_version '14.5'
35
+
36
+ MSG = "Don't depend on the locale cookbook made obsolete by Chef Infra Client 14.5. The locale resource is now included in Chef Infra Client itself."
37
+ RESTRICT_ON_SEND = [:depends].freeze
38
+
39
+ def_node_matcher :legacy_depends?, <<-PATTERN
40
+ (send nil? :depends (str "locale") ... )
41
+ PATTERN
42
+
43
+ def on_send(node)
44
+ legacy_depends?(node) do
45
+ add_offense(node, message: MSG, severity: :refactor) do |corrector|
46
+ corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2021, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Modernize
22
+ # Don't depend on the openssl cookbook which was made obsolete by Chef Infra Client 14.4. All openssl resource are now included directly in Chef Infra Client.
23
+ #
24
+ # @example
25
+ #
26
+ # #### incorrect
27
+ # depends 'openssl'
28
+ #
29
+ class DependsOnOpensslCookbook < Base
30
+ extend AutoCorrector
31
+ extend TargetChefVersion
32
+ include RangeHelp
33
+
34
+ minimum_target_chef_version '14.4'
35
+
36
+ MSG = "Don't depend on the openssl cookbook which was made obsolete by Chef Infra Client 14.4. All openssl resource are now included directly in Chef Infra Client."
37
+ RESTRICT_ON_SEND = [:depends].freeze
38
+
39
+ def_node_matcher :legacy_depends?, <<-PATTERN
40
+ (send nil? :depends (str "openssl") ... )
41
+ PATTERN
42
+
43
+ def on_send(node)
44
+ legacy_depends?(node) do
45
+ add_offense(node, message: MSG, severity: :refactor) do |corrector|
46
+ corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2021, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Modernize
22
+ # Don't depend on the timezone_lwrp cookbook made obsolete by Chef Infra Client 14.6. The timezone resource is now included in Chef Infra Client itself.
23
+ #
24
+ # @example
25
+ #
26
+ # #### incorrect
27
+ # depends 'timezone_lwrp'
28
+ #
29
+ class DependsOnTimezoneLwrpCookbook < Base
30
+ extend AutoCorrector
31
+ extend TargetChefVersion
32
+ include RangeHelp
33
+
34
+ minimum_target_chef_version '14.6'
35
+
36
+ MSG = "Don't depend on the timezone_lwrp cookbook made obsolete by Chef Infra Client 14.6. The timezone resource is now included in Chef Infra Client itself."
37
+ RESTRICT_ON_SEND = [:depends].freeze
38
+
39
+ def_node_matcher :legacy_depends?, <<-PATTERN
40
+ (send nil? :depends (str "timezone_lwrp") ... )
41
+ PATTERN
42
+
43
+ def on_send(node)
44
+ legacy_depends?(node) do
45
+ add_offense(node, message: MSG, severity: :refactor) do |corrector|
46
+ corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2021, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Modernize
22
+ # Don't depend on the windows_firewall cookbook made obsolete by Chef Infra Client 14.7. The windows_firewall resource is now included in Chef Infra Client itself.
23
+ #
24
+ # @example
25
+ #
26
+ # #### incorrect
27
+ # depends 'windows_firewall'
28
+ #
29
+ class DependsOnWindowsFirewallCookbook < Base
30
+ extend AutoCorrector
31
+ extend TargetChefVersion
32
+ include RangeHelp
33
+
34
+ minimum_target_chef_version '14.7'
35
+
36
+ MSG = "Don't depend on the windows_firewall cookbook made obsolete by Chef Infra Client 14.7. The windows_firewall resource is now included in Chef Infra Client itself."
37
+ RESTRICT_ON_SEND = [:depends].freeze
38
+
39
+ def_node_matcher :legacy_depends?, <<-PATTERN
40
+ (send nil? :depends (str "windows_firewall") ... )
41
+ PATTERN
42
+
43
+ def on_send(node)
44
+ legacy_depends?(node) do
45
+ add_offense(node, message: MSG, severity: :refactor) do |corrector|
46
+ corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -19,11 +19,13 @@ module RuboCop
19
19
  module Cop
20
20
  module Chef
21
21
  module Modernize
22
- # Use the archive_file resource built into Chef Infra Client 15+ instead of the libarchive_file resource.
22
+ # Use the archive_file resource built into Chef Infra Client 15+ instead of the libarchive_file resource from the libarchive cookbook.
23
23
  #
24
24
  # @example
25
25
  #
26
26
  # #### incorrect
27
+ # depends 'libarchive'
28
+ #
27
29
  # libarchive_file "C:\file.zip" do
28
30
  # path 'C:\expand_here'
29
31
  # end
@@ -39,7 +41,7 @@ module RuboCop
39
41
 
40
42
  minimum_target_chef_version '15.0'
41
43
 
42
- MSG = 'Use the archive_file resource built into Chef Infra Client 15+ instead of the libarchive file resource'
44
+ MSG = 'Use the archive_file resource built into Chef Infra Client 15+ instead of the libarchive file resource from the libarchive cookbook'
43
45
  RESTRICT_ON_SEND = [:libarchive_file, :notifies, :subscribes].freeze
44
46
 
45
47
  def_node_matcher :notification_property?, <<-PATTERN
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: 7.16.1
4
+ version: 7.20.0
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: 2021-08-06 00:00:00.000000000 Z
12
+ date: 2021-08-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rubocop
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 1.18.4
20
+ version: 1.19.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 1.18.4
27
+ version: 1.19.0
28
28
  description:
29
29
  email:
30
30
  - thom@chef.io
@@ -78,6 +78,7 @@ files:
78
78
  - lib/rubocop/cop/chef/correctness/octal_mode_as_string.rb
79
79
  - lib/rubocop/cop/chef/correctness/openssl_password_helpers.rb
80
80
  - lib/rubocop/cop/chef/correctness/powershell_delete_file.rb
81
+ - lib/rubocop/cop/chef/correctness/powershell_file_exists.rb
81
82
  - lib/rubocop/cop/chef/correctness/property_without_type.rb
82
83
  - lib/rubocop/cop/chef/correctness/resource_sets_internal_properties.rb
83
84
  - lib/rubocop/cop/chef/correctness/resource_sets_name_property.rb
@@ -99,13 +100,17 @@ files:
99
100
  - lib/rubocop/cop/chef/deprecation/chefspec_coverage_report.rb
100
101
  - lib/rubocop/cop/chef/deprecation/chefspec_legacy_runner.rb
101
102
  - lib/rubocop/cop/chef/deprecation/chocolatey_package_uninstall_action.rb
103
+ - lib/rubocop/cop/chef/deprecation/depends_chef_nginx_cookbook.rb
104
+ - lib/rubocop/cop/chef/deprecation/depends_chef_reporting_cookbook.rb
102
105
  - lib/rubocop/cop/chef/deprecation/depends_compat_resource.rb
106
+ - lib/rubocop/cop/chef/deprecation/depends_omnibus_updater_cookbook.rb
103
107
  - lib/rubocop/cop/chef/deprecation/depends_partial_search.rb
104
108
  - lib/rubocop/cop/chef/deprecation/depends_poise.rb
105
109
  - lib/rubocop/cop/chef/deprecation/deprecated_chefspec_platform.rb
106
110
  - lib/rubocop/cop/chef/deprecation/deprecated_mixins.rb
107
111
  - lib/rubocop/cop/chef/deprecation/deprecated_platform_methods.rb
108
112
  - lib/rubocop/cop/chef/deprecation/deprecated_shellout_methods.rb
113
+ - lib/rubocop/cop/chef/deprecation/deprecated_sudo_actions.rb
109
114
  - lib/rubocop/cop/chef/deprecation/deprecated_windows_version_check.rb
110
115
  - lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_actions.rb
111
116
  - lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_properties.rb
@@ -174,6 +179,7 @@ files:
174
179
  - lib/rubocop/cop/chef/modernize/berksfile_source.rb
175
180
  - lib/rubocop/cop/chef/modernize/build_essential.rb
176
181
  - lib/rubocop/cop/chef/modernize/chef_14_resources.rb
182
+ - lib/rubocop/cop/chef/modernize/chef_15_resources.rb
177
183
  - lib/rubocop/cop/chef/modernize/chef_gem_nokogiri.rb
178
184
  - lib/rubocop/cop/chef/modernize/compile_time_resources.rb
179
185
  - lib/rubocop/cop/chef/modernize/conditional_using_test.rb
@@ -183,6 +189,13 @@ files:
183
189
  - lib/rubocop/cop/chef/modernize/default_action_initializer.rb
184
190
  - lib/rubocop/cop/chef/modernize/defines_chefspec_matchers.rb
185
191
  - lib/rubocop/cop/chef/modernize/definitions.rb
192
+ - lib/rubocop/cop/chef/modernize/depends_chef_vault_cookbook.rb
193
+ - lib/rubocop/cop/chef/modernize/depends_chocolatey_cookbooks.rb
194
+ - lib/rubocop/cop/chef/modernize/depends_kernel_module_cookbook.rb
195
+ - lib/rubocop/cop/chef/modernize/depends_locale_cookbook.rb
196
+ - lib/rubocop/cop/chef/modernize/depends_openssl_cookbook.rb
197
+ - lib/rubocop/cop/chef/modernize/depends_timezone_lwrp_cookbook.rb
198
+ - lib/rubocop/cop/chef/modernize/depends_windows_firewall_cookbook.rb
186
199
  - lib/rubocop/cop/chef/modernize/depends_zypper_cookbook.rb
187
200
  - lib/rubocop/cop/chef/modernize/dsl_include_in_resource.rb
188
201
  - lib/rubocop/cop/chef/modernize/empty_resource_initialize.rb