foodcritic 12.0.1 → 12.1.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 +4 -4
- data/CHANGELOG.md +9 -0
- data/lib/foodcritic/rules/fc087.rb +2 -2
- data/lib/foodcritic/rules/fc094.rb +1 -1
- data/lib/foodcritic/rules/fc095.rb +1 -1
- data/lib/foodcritic/rules/fc101.rb +6 -0
- data/lib/foodcritic/rules/fc102.rb +11 -0
- data/lib/foodcritic/version.rb +1 -1
- data/spec/functional/fc087_spec.rb +14 -0
- data/spec/functional/fc100_spec.rb +1 -1
- data/spec/functional/fc101_spec.rb +23 -0
- data/spec/functional/fc102_spec.rb +18 -0
- data/spec/regression/expected/heartbeat.txt +2 -0
- data/spec/regression/expected/homebrew.txt +1 -1
- data/spec/regression/expected/lvm.txt +1 -0
- metadata +7 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d9dd40715774c5adade3569eb138e040cc91c344
|
|
4
|
+
data.tar.gz: 9b3632ea45e7e88c43eb6f90c1e0ec92a959844f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7d292e6eb21f89ac2234578ba2857d35d926dfca1f6bd7f06acc3641f0edd4a19a5d9a1c3a7f2aa2020e8539d7732c848742c23355ddafee673b34c0617e1df3
|
|
7
|
+
data.tar.gz: fd145ba3ce3b168efc7311947d550e21cf68048c02e2bab6883ae937609dae43e8e4a415a8f73f06d3ca24d016482822b080b8e9465a83f7c31e6ce744e4b5b9
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Foodcritic Changelog:
|
|
2
2
|
|
|
3
|
+
## [12.1.0](https://github.com/Foodcritic/foodcritic/tree/v12.1.0) (2017-10-31)
|
|
4
|
+
|
|
5
|
+
**Implemented enhancements:**
|
|
6
|
+
|
|
7
|
+
- Updated FC094 and FC095 tags from chef15 -> chef14 as the deprecation timeline has been changed
|
|
8
|
+
- Updated FC087 to check for all deprecated Chef::Platform methods
|
|
9
|
+
- Added FC101: Cookbook uses the deprecated deploy resource
|
|
10
|
+
- Added FC102: Cookbook uses the deprecated Chef::DSL::Recipe::FullDSL class
|
|
11
|
+
|
|
3
12
|
## [12.0.1](https://github.com/Foodcritic/foodcritic/tree/v12.0.1) (2017-10-19)
|
|
4
13
|
|
|
5
14
|
**Fixed bugs:**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
rule "FC087", "Library
|
|
1
|
+
rule "FC087", "Library uses deprecated Chef::Platform methods" do
|
|
2
2
|
tags %w{chef13 deprecated}
|
|
3
3
|
|
|
4
4
|
library do |ast|
|
|
5
|
-
ast.xpath('//const_path_ref/const[@value="Platform"]/..//const[@value="Chef"]/../../../ident[@value="set"]')
|
|
5
|
+
ast.xpath('//const_path_ref/const[@value="Platform"]/..//const[@value="Chef"]/../../../ident[@value="set" or @value="provider_for_resource" or @value="find_provider"]')
|
|
6
6
|
end
|
|
7
7
|
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
rule "FC102", "Deprecated Chef::DSL::Recipe::FullDSL class used" do
|
|
2
|
+
tags %w{chef14 deprecated}
|
|
3
|
+
def full_dsl(ast)
|
|
4
|
+
# include Chef::DSL::Recipe::FullDSL
|
|
5
|
+
ast.xpath('//const_path_ref/const[@value="FullDSL"]/..//const[@value="Recipe"]/..//const[@value="DSL"]/..//const[@value="Chef"]')
|
|
6
|
+
end
|
|
7
|
+
recipe { |ast| full_dsl(ast) }
|
|
8
|
+
library { |ast| full_dsl(ast) }
|
|
9
|
+
resource { |ast| full_dsl(ast) }
|
|
10
|
+
|
|
11
|
+
end
|
data/lib/foodcritic/version.rb
CHANGED
|
@@ -9,6 +9,20 @@ describe "FC087" do
|
|
|
9
9
|
it { is_expected.to violate_rule }
|
|
10
10
|
end
|
|
11
11
|
|
|
12
|
+
context "with a cookbook with a library that maps providers with Chef::Platform.provider_for_resource" do
|
|
13
|
+
library_file <<-EOF
|
|
14
|
+
provider = Chef::Platform.provider_for_resource(resource, :create)
|
|
15
|
+
EOF
|
|
16
|
+
it { is_expected.to violate_rule }
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
context "with a cookbook with a library that maps providers with Chef::Platform.provider_for_resource" do
|
|
20
|
+
library_file <<-EOF
|
|
21
|
+
provider = Chef::Platform.find_provider("ubuntu", "16.04", resource)
|
|
22
|
+
EOF
|
|
23
|
+
it { is_expected.to violate_rule }
|
|
24
|
+
end
|
|
25
|
+
|
|
12
26
|
context "with a cookbook with a library that includes Chef::Platform.foo" do
|
|
13
27
|
library_file <<-EOF
|
|
14
28
|
module AuditD
|
|
@@ -6,7 +6,7 @@ describe "FC100" do
|
|
|
6
6
|
it { is_expected.to violate_rule }
|
|
7
7
|
end
|
|
8
8
|
|
|
9
|
-
context "with a cookbook with a recipe that includes Chef::Mixin::
|
|
9
|
+
context "with a cookbook with a recipe that includes Chef::Mixin::Language" do
|
|
10
10
|
recipe_file "include Chef::Mixin::Language"
|
|
11
11
|
it { is_expected.to violate_rule }
|
|
12
12
|
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require "spec_helper"
|
|
2
|
+
|
|
3
|
+
describe "FC101" do
|
|
4
|
+
context "with a cookbook with a recipe that includes an deploy resource" do
|
|
5
|
+
recipe_file <<-EOF
|
|
6
|
+
deploy 'private_repo' do
|
|
7
|
+
repo 'git@github.com:acctname/private-repo.git'
|
|
8
|
+
user 'ubuntu'
|
|
9
|
+
deploy_to '/tmp/private_code'
|
|
10
|
+
ssh_wrapper '/tmp/private_code/wrap-ssh4git.sh'
|
|
11
|
+
action :deploy
|
|
12
|
+
end
|
|
13
|
+
EOF
|
|
14
|
+
it { is_expected.to violate_rule }
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
context "with a cookbook with a recipe that doesn't include an deploy resource" do
|
|
18
|
+
recipe_file <<-EOF
|
|
19
|
+
package "foo"
|
|
20
|
+
EOF
|
|
21
|
+
it { is_expected.not_to violate_rule }
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require "spec_helper"
|
|
2
|
+
|
|
3
|
+
describe "FC102" do
|
|
4
|
+
context "with a cookbook with a custom resource that includes Chef::DSL::Recipe::FullDSL" do
|
|
5
|
+
resource_file "include Chef::DSL::Recipe::FullDSL"
|
|
6
|
+
it { is_expected.to violate_rule }
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
context "with a cookbook with a recipe that includes Chef::DSL::Recipe::FullDSL" do
|
|
10
|
+
recipe_file "include Chef::DSL::Recipe::FullDSL"
|
|
11
|
+
it { is_expected.to violate_rule }
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
context "with a cookbook with a library that includes Chef::DSL::Recipe::FullDSL" do
|
|
15
|
+
library_file "include Chef::DSL::Recipe::FullDSL"
|
|
16
|
+
it { is_expected.to violate_rule }
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -7,3 +7,5 @@ FC065: Ensure source_url is set in metadata: ./metadata.rb:1
|
|
|
7
7
|
FC066: Ensure chef_version is set in metadata: ./metadata.rb:1
|
|
8
8
|
FC069: Ensure standardized license defined in metadata: ./metadata.rb:1
|
|
9
9
|
FC078: Ensure cookbook shared under an OSI-approved open source license: ./metadata.rb:1
|
|
10
|
+
FC087: Library uses deprecated Chef::Platform methods: ./libraries/default.rb:64
|
|
11
|
+
FC098: Deprecated Chef::Mixin::RecipeDefinitionDSLCore mixin used: ./libraries/default.rb:24
|
|
@@ -7,4 +7,4 @@ FC066: Ensure chef_version is set in metadata: ./metadata.rb:1
|
|
|
7
7
|
FC069: Ensure standardized license defined in metadata: ./metadata.rb:1
|
|
8
8
|
FC074: LWRP should use DSL to define resource's default action: ./resources/tap.rb:1
|
|
9
9
|
FC078: Ensure cookbook shared under an OSI-approved open source license: ./metadata.rb:1
|
|
10
|
-
FC087: Library
|
|
10
|
+
FC087: Library uses deprecated Chef::Platform methods: ./libraries/homebrew_package.rb:82
|
|
@@ -11,3 +11,4 @@ FC074: LWRP should use DSL to define resource's default action: ./resources/logi
|
|
|
11
11
|
FC074: LWRP should use DSL to define resource's default action: ./resources/physical_volume.rb:1
|
|
12
12
|
FC074: LWRP should use DSL to define resource's default action: ./resources/volume_group.rb:1
|
|
13
13
|
FC078: Ensure cookbook shared under an OSI-approved open source license: ./metadata.rb:1
|
|
14
|
+
FC098: Deprecated Chef::Mixin::RecipeDefinitionDSLCore mixin used: ./resources/volume_group.rb:1
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: foodcritic
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 12.0
|
|
4
|
+
version: 12.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew Crump
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-10-
|
|
11
|
+
date: 2017-10-31 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cucumber-core
|
|
@@ -334,6 +334,8 @@ files:
|
|
|
334
334
|
- lib/foodcritic/rules/fc098.rb
|
|
335
335
|
- lib/foodcritic/rules/fc099.rb
|
|
336
336
|
- lib/foodcritic/rules/fc100.rb
|
|
337
|
+
- lib/foodcritic/rules/fc101.rb
|
|
338
|
+
- lib/foodcritic/rules/fc102.rb
|
|
337
339
|
- lib/foodcritic/template.rb
|
|
338
340
|
- lib/foodcritic/version.rb
|
|
339
341
|
- lib/foodcritic/xml.rb
|
|
@@ -406,6 +408,8 @@ files:
|
|
|
406
408
|
- spec/functional/fc098_spec.rb
|
|
407
409
|
- spec/functional/fc099_spec.rb
|
|
408
410
|
- spec/functional/fc100_spec.rb
|
|
411
|
+
- spec/functional/fc101_spec.rb
|
|
412
|
+
- spec/functional/fc102_spec.rb
|
|
409
413
|
- spec/functional/root_aliases_spec.rb
|
|
410
414
|
- spec/regression/cookbooks.txt
|
|
411
415
|
- spec/regression/expected/activemq.txt
|
|
@@ -522,5 +526,5 @@ rubyforge_project:
|
|
|
522
526
|
rubygems_version: 2.6.13
|
|
523
527
|
signing_key:
|
|
524
528
|
specification_version: 4
|
|
525
|
-
summary: foodcritic-12.0
|
|
529
|
+
summary: foodcritic-12.1.0
|
|
526
530
|
test_files: []
|