compat_resource 12.10.6 → 12.10.7

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
  SHA1:
3
- metadata.gz: 0c9c7fdf70351d93a46032adf4599cec50c4ebb3
4
- data.tar.gz: b111872ab5cb8de05ee1bddb643f759349b5a609
3
+ metadata.gz: f44c1502b64008be675f64d8c56c7a5bfa7b1f17
4
+ data.tar.gz: 36c46de73ae8075d47467868e07f882e91f3b974
5
5
  SHA512:
6
- metadata.gz: 735157db3d0fa2345c7fec6ede932852c5a225c58fe211ca2ab41267f56606840551defdff7e023df94c385e11ecb8ef2d8cdb12acf9e9cb311863cb1948a413
7
- data.tar.gz: fd977a453ba06f3d84d6f0b96e474005d94a494ac10833f8ccfc8fa29bb1e8d55ceb4070625b54d90b20b75e07a22bd9e1dcc033d471d7ff0b1c7517e2cb3bde
6
+ metadata.gz: 6869fc1630c3394d2a1a4f587542b160e8a9207b24811824cbc5ff015e522cdb84031498ffd19961a518de42f4ceffbab255c87562390e7a05150795550b18e6
7
+ data.tar.gz: e7e55d029ab8e05a1c8e9fe8cff3d56f4a0d4944b9955e9cd63fc5a5a9131c8c04db7d8bce2c143ac86e65b69f493ab5621a88486d4c9a3720ce5d89738b2534
data/Gemfile CHANGED
@@ -1,6 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
  gemspec
3
3
  gem 'stove'
4
+ gem 'rack', '< 2.0' # 2.0 requires Ruby 2.2+
4
5
  if ENV['GEMFILE_MOD']
5
6
  instance_eval(ENV['GEMFILE_MOD'])
6
7
  end
data/Rakefile CHANGED
@@ -18,7 +18,9 @@ CHEF_FILES = %w(
18
18
  chef/delayed_evaluator
19
19
  chef/dsl/core
20
20
  chef/dsl/declare_resource
21
+ chef/dsl/platform_introspection
21
22
  chef/dsl/recipe
23
+ chef/dsl/universal
22
24
  chef/mixin/lazy_module_include
23
25
  chef/mixin/notifying_block
24
26
  chef/mixin/params_validate
@@ -26,28 +26,37 @@ module CopiedFromChef
26
26
  #
27
27
 
28
28
  require "chef_compat/copied_from_chef/chef/dsl/declare_resource"
29
+ require "chef_compat/copied_from_chef/chef/dsl/universal"
29
30
  require "chef_compat/copied_from_chef/chef/mixin/notifying_block"
30
- require "chef_compat/copied_from_chef/chef/mixin/powershell_out"
31
+ require "chef_compat/copied_from_chef/chef/mixin/lazy_module_include"
31
32
 
32
33
  class Chef < (defined?(::Chef) ? ::Chef : Object)
33
34
  module DSL
34
35
  CopiedFromChef.extend_chef_module(::Chef::DSL, self) if defined?(::Chef::DSL)
35
- # This is the "Core DSL" with various bits of Sugar that are mixed into core providers as well
36
- # as user LWRPs. This module deliberately does not mixin the Resources or Defintions DSL bits
37
- # so that cookbooks are not injeting random things into the namespace of core providers.
36
+ # Part of a family of DSL mixins.
38
37
  #
39
- # - If you are writing cookbooks: you have come to the wrong place, please inject things into
40
- # Chef::DSL::Recipe instead.
38
+ # Chef::DSL::Recipe mixes into Recipes and LWRP Providers.
39
+ # - this does not target core chef resources and providers.
40
+ # - this is restricted to recipe/resource/provider context where a resource collection exists.
41
+ # - cookbook authors should typically include modules into here.
41
42
  #
42
- # - If you are writing core chef: you have come to the right place, please drop your DSL modules
43
- # into here.
43
+ # Chef::DSL::Core mixes into Recipes, LWRP Providers and Core Providers
44
+ # - this adds cores providers on top of the Recipe DSL.
45
+ # - this is restricted to recipe/resource/provider context where a resource collection exists.
46
+ # - core chef authors should typically include modules into here.
47
+ #
48
+ # Chef::DSL::Universal mixes into Recipes, LWRP Resources+Providers, Core Resources+Providers, and Attributes files.
49
+ # - this adds resources and attributes files.
50
+ # - do not add helpers which manipulate the resource collection.
51
+ # - this is for general-purpose stuff that is useful nearly everywhere.
52
+ # - it also pollutes the namespace of nearly every context, watch out.
44
53
  #
45
54
  module Core
46
55
  CopiedFromChef.extend_chef_module(::Chef::DSL::Core, self) if defined?(::Chef::DSL::Core)
56
+ include Chef::DSL::Universal
47
57
  include Chef::DSL::DeclareResource
48
58
  include Chef::Mixin::NotifyingBlock
49
- include Chef::Mixin::PowershellOut
50
- include Chef::Mixin::ShellOut
59
+ extend Chef::Mixin::LazyModuleInclude
51
60
  end
52
61
  end
53
62
  end
@@ -0,0 +1,284 @@
1
+ begin
2
+ require 'chef/dsl/platform_introspection'
3
+ rescue LoadError; end
4
+
5
+ require 'chef_compat/copied_from_chef'
6
+ class Chef
7
+ module ::ChefCompat
8
+ module CopiedFromChef
9
+ #
10
+ # Author:: Adam Jacob (<adam@chef.io>)
11
+ # Copyright:: Copyright 2008-2016, Chef Software Inc.
12
+ # License:: Apache License, Version 2.0
13
+ #
14
+ # Licensed under the Apache License, Version 2.0 (the "License");
15
+ # you may not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing, software
21
+ # distributed under the License is distributed on an "AS IS" BASIS,
22
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23
+ # See the License for the specific language governing permissions and
24
+ # limitations under the License.
25
+ #
26
+
27
+ class Chef < (defined?(::Chef) ? ::Chef : Object)
28
+ module DSL
29
+ CopiedFromChef.extend_chef_module(::Chef::DSL, self) if defined?(::Chef::DSL)
30
+
31
+ # == Chef::DSL::PlatformIntrospection
32
+ # Provides the DSL for platform-dependent switch logic, such as
33
+ # #value_for_platform.
34
+ module PlatformIntrospection
35
+ CopiedFromChef.extend_chef_module(::Chef::DSL::PlatformIntrospection, self) if defined?(::Chef::DSL::PlatformIntrospection)
36
+
37
+ # Implementation class for determining platform dependent values
38
+ class PlatformDependentValue < (defined?(::Chef::DSL::PlatformIntrospection::PlatformDependentValue) ? ::Chef::DSL::PlatformIntrospection::PlatformDependentValue : Object)
39
+
40
+ # Create a platform dependent value object.
41
+ # === Arguments
42
+ # platform_hash (Hash) a hash of the same structure as Chef::Platform,
43
+ # like this:
44
+ # {
45
+ # :debian => {:default => 'the value for all debian'}
46
+ # [:centos, :redhat, :fedora] => {:default => "value for all EL variants"}
47
+ # :ubuntu => { :default => "default for ubuntu", '10.04' => "value for 10.04 only"},
48
+ # :default => "the default when nothing else matches"
49
+ # }
50
+ # * platforms can be specified as Symbols or Strings
51
+ # * multiple platforms can be grouped by using an Array as the key
52
+ # * values for platforms need to be Hashes of the form:
53
+ # {platform_version => value_for_that_version}
54
+ # * the exception to the above is the default value, which is given as
55
+ # :default => default_value
56
+ def initialize(platform_hash)
57
+ super if defined?(::Chef::DSL::PlatformIntrospection::PlatformDependentValue)
58
+ @values = {}
59
+ platform_hash.each { |platforms, value| set(platforms, value) }
60
+ end
61
+
62
+ def value_for_node(node)
63
+ platform, version = node[:platform].to_s, node[:platform_version].to_s
64
+ # Check if we match a version constraint via Chef::VersionConstraint::Platform and Chef::Version::Platform
65
+ matched_value = match_versions(node)
66
+ if @values.key?(platform) && @values[platform].key?(version)
67
+ @values[platform][version]
68
+ elsif matched_value
69
+ matched_value
70
+ elsif @values.key?(platform) && @values[platform].key?("default")
71
+ @values[platform]["default"]
72
+ elsif @values.key?("default")
73
+ @values["default"]
74
+ else
75
+ nil
76
+ end
77
+ end
78
+
79
+ private
80
+
81
+ def match_versions(node)
82
+ begin
83
+ platform, version = node[:platform].to_s, node[:platform_version].to_s
84
+ return nil unless @values.key?(platform)
85
+ node_version = Chef::Version::Platform.new(version)
86
+ key_matches = []
87
+ keys = @values[platform].keys
88
+ keys.each do |k|
89
+ begin
90
+ if Chef::VersionConstraint::Platform.new(k).include?(node_version)
91
+ key_matches << k
92
+ end
93
+ rescue Chef::Exceptions::InvalidVersionConstraint => e
94
+ Chef::Log.debug "Caught InvalidVersionConstraint. This means that a key in value_for_platform cannot be interpreted as a Chef::VersionConstraint::Platform."
95
+ Chef::Log.debug(e)
96
+ end
97
+ end
98
+ return @values[platform][version] if key_matches.include?(version)
99
+ case key_matches.length
100
+ when 0
101
+ return nil
102
+ when 1
103
+ return @values[platform][key_matches.first]
104
+ else
105
+ raise "Multiple matches detected for #{platform} with values #{@values}. The matches are: #{key_matches}"
106
+ end
107
+ rescue Chef::Exceptions::InvalidCookbookVersion => e
108
+ # Lets not break because someone passes a weird string like 'default' :)
109
+ Chef::Log.debug(e)
110
+ Chef::Log.debug "InvalidCookbookVersion exceptions are common and expected here: the generic constraint matcher attempted to match something which is not a constraint. Moving on to next version or constraint"
111
+ return nil
112
+ rescue Chef::Exceptions::InvalidPlatformVersion => e
113
+ Chef::Log.debug "Caught InvalidPlatformVersion, this means that Chef::Version::Platform does not know how to turn #{node_version} into an x.y.z format"
114
+ Chef::Log.debug(e)
115
+ return nil
116
+ end
117
+ end
118
+
119
+ def set(platforms, value)
120
+ if platforms.to_s == "default"
121
+ @values["default"] = value
122
+ else
123
+ assert_valid_platform_values!(platforms, value)
124
+ Array(platforms).each { |platform| @values[platform.to_s] = normalize_keys(value) }
125
+ value
126
+ end
127
+ end
128
+
129
+ def normalize_keys(hash)
130
+ hash.inject({}) do |h, key_value|
131
+ keys, value = *key_value
132
+ Array(keys).each do |key|
133
+ h[key.to_s] = value
134
+ end
135
+ h
136
+ end
137
+ end
138
+
139
+ def assert_valid_platform_values!(platforms, value)
140
+ unless value.kind_of?(Hash)
141
+ msg = "platform dependent values must be specified in the format :platform => {:version => value} "
142
+ msg << "you gave a value #{value.inspect} for platform(s) #{platforms}"
143
+ raise ArgumentError, msg
144
+ end
145
+ end
146
+ end
147
+
148
+ # Given a hash similar to the one we use for Platforms, select a value from the hash. Supports
149
+ # per platform defaults, along with a single base default. Arrays may be passed as hash keys and
150
+ # will be expanded.
151
+ #
152
+ # === Parameters
153
+ # platform_hash:: A platform-style hash.
154
+ #
155
+ # === Returns
156
+ # value:: Whatever the most specific value of the hash is.
157
+ def value_for_platform(platform_hash)
158
+ PlatformDependentValue.new(platform_hash).value_for_node(node)
159
+ end
160
+
161
+ # Given a list of platforms, returns true if the current recipe is being run on a node with
162
+ # that platform, false otherwise.
163
+ #
164
+ # === Parameters
165
+ # args:: A list of platforms. Each platform can be in string or symbol format.
166
+ #
167
+ # === Returns
168
+ # true:: If the current platform is in the list
169
+ # false:: If the current platform is not in the list
170
+ def platform?(*args)
171
+ has_platform = false
172
+
173
+ args.flatten.each do |platform|
174
+ has_platform = true if platform.to_s == node[:platform]
175
+ end
176
+
177
+ has_platform
178
+ end
179
+
180
+ # Implementation class for determining platform family dependent values
181
+ class PlatformFamilyDependentValue < (defined?(::Chef::DSL::PlatformIntrospection::PlatformFamilyDependentValue) ? ::Chef::DSL::PlatformIntrospection::PlatformFamilyDependentValue : Object)
182
+
183
+ # Create a platform family dependent value object.
184
+ # === Arguments
185
+ # platform_family_hash (Hash) a map of platform families to values.
186
+ # like this:
187
+ # {
188
+ # :rhel => "value for all EL variants"
189
+ # :fedora => "value for fedora variants fedora and amazon" ,
190
+ # [:fedora, :rhel] => "value for all known redhat variants"
191
+ # :debian => "value for debian variants including debian, ubuntu, mint" ,
192
+ # :default => "the default when nothing else matches"
193
+ # }
194
+ # * platform families can be specified as Symbols or Strings
195
+ # * multiple platform families can be grouped by using an Array as the key
196
+ # * values for platform families can be any object, with no restrictions. Some examples:
197
+ # - [:stop, :start]
198
+ # - "mysql-devel"
199
+ # - { :key => "value" }
200
+ def initialize(platform_family_hash)
201
+ super if defined?(::Chef::DSL::PlatformIntrospection::PlatformFamilyDependentValue)
202
+ @values = {}
203
+ @values["default"] = nil
204
+ platform_family_hash.each { |platform_families, value| set(platform_families, value) }
205
+ end
206
+
207
+ def value_for_node(node)
208
+ if node.key?(:platform_family)
209
+ platform_family = node[:platform_family].to_s
210
+ if @values.key?(platform_family)
211
+ @values[platform_family]
212
+ else
213
+ @values["default"]
214
+ end
215
+ else
216
+ @values["default"]
217
+ end
218
+ end
219
+
220
+ private
221
+
222
+ def set(platform_family, value)
223
+ if platform_family.to_s == "default"
224
+ @values["default"] = value
225
+ else
226
+ Array(platform_family).each { |family| @values[family.to_s] = value }
227
+ value
228
+ end
229
+ end
230
+ end
231
+
232
+ # Given a hash mapping platform families to values, select a value from the hash. Supports a single
233
+ # base default if platform family is not in the map. Arrays may be passed as hash keys and will be
234
+ # expanded
235
+ #
236
+ # === Parameters
237
+ # platform_family_hash:: A hash in the form { platform_family_name => value }
238
+ #
239
+ # === Returns
240
+ # value:: Whatever the most specific value of the hash is.
241
+ def value_for_platform_family(platform_family_hash)
242
+ PlatformFamilyDependentValue.new(platform_family_hash).value_for_node(node)
243
+ end
244
+
245
+ # Given a list of platform families, returns true if the current recipe is being run on a
246
+ # node within that platform family, false otherwise.
247
+ #
248
+ # === Parameters
249
+ # args:: A list of platform families. Each platform family can be in string or symbol format.
250
+ #
251
+ # === Returns
252
+ # true:: if the current node platform family is in the list.
253
+ # false:: if the current node platform family is not in the list.
254
+ def platform_family?(*args)
255
+ args.flatten.any? do |platform_family|
256
+ platform_family.to_s == node[:platform_family]
257
+ end
258
+ end
259
+
260
+ # Shamelessly stolen from https://github.com/sethvargo/chef-sugar/blob/master/lib/chef/sugar/docker.rb
261
+ # Given a node object, returns whether the node is a docker container.
262
+ #
263
+ # === Parameters
264
+ # node:: [Chef::Node] The node to check.
265
+ #
266
+ # === Returns
267
+ # true:: if the current node is a docker container
268
+ # false:: if the current node is not a docker container
269
+ def docker?(node = run_context.nil? ? nil : run_context.node)
270
+ # Using "File.exist?('/.dockerinit') || File.exist?('/.dockerenv')" makes Travis sad,
271
+ # and that makes us sad too.
272
+ node && node[:virtualization] && node[:virtualization][:systems] &&
273
+ node[:virtualization][:systems][:docker] && node[:virtualization][:systems][:docker] == "guest"
274
+ end
275
+
276
+ end
277
+ end
278
+ end
279
+
280
+ # **DEPRECATED**
281
+ # This used to be part of chef/mixin/language. Load the file to activate the deprecation code.
282
+ end
283
+ end
284
+ end
@@ -0,0 +1,62 @@
1
+ begin
2
+ require 'chef/dsl/universal'
3
+ rescue LoadError; end
4
+
5
+ require 'chef_compat/copied_from_chef'
6
+ class Chef
7
+ module ::ChefCompat
8
+ module CopiedFromChef
9
+ #--
10
+ # Author:: Adam Jacob (<adam@chef.io>)
11
+ # Author:: Christopher Walters (<cw@chef.io>)
12
+ # Copyright:: Copyright 2008-2016, 2009-2015 Chef Software, Inc.
13
+ # License:: Apache License, Version 2.0
14
+ #
15
+ # Licensed under the Apache License, Version 2.0 (the "License");
16
+ # you may not use this file except in compliance with the License.
17
+ # You may obtain a copy of the License at
18
+ #
19
+ # http://www.apache.org/licenses/LICENSE-2.0
20
+ #
21
+ # Unless required by applicable law or agreed to in writing, software
22
+ # distributed under the License is distributed on an "AS IS" BASIS,
23
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24
+ # See the License for the specific language governing permissions and
25
+ # limitations under the License.
26
+ #
27
+
28
+ require "chef_compat/copied_from_chef/chef/dsl/platform_introspection"
29
+ require "chef_compat/copied_from_chef/chef/mixin/powershell_out"
30
+
31
+ class Chef < (defined?(::Chef) ? ::Chef : Object)
32
+ module DSL
33
+ CopiedFromChef.extend_chef_module(::Chef::DSL, self) if defined?(::Chef::DSL)
34
+ # Part of a family of DSL mixins.
35
+ #
36
+ # Chef::DSL::Recipe mixes into Recipes and LWRP Providers.
37
+ # - this does not target core chef resources and providers.
38
+ # - this is restricted to recipe/resource/provider context where a resource collection exists.
39
+ # - cookbook authors should typically include modules into here.
40
+ #
41
+ # Chef::DSL::Core mixes into Recipes, LWRP Providers and Core Providers
42
+ # - this adds cores providers on top of the Recipe DSL.
43
+ # - this is restricted to recipe/resource/provider context where a resource collection exists.
44
+ # - core chef authors should typically include modules into here.
45
+ #
46
+ # Chef::DSL::Universal mixes into Recipes, LWRP Resources+Providers, Core Resources+Providers, and Attributes files.
47
+ # - this adds resources and attributes files.
48
+ # - do not add helpers which manipulate the resource collection.
49
+ # - this is for general-purpose stuff that is useful nearly everywhere.
50
+ # - it also pollutes the namespace of nearly every context, watch out.
51
+ #
52
+ module Universal
53
+ CopiedFromChef.extend_chef_module(::Chef::DSL::Universal, self) if defined?(::Chef::DSL::Universal)
54
+ include Chef::DSL::PlatformIntrospection
55
+ include Chef::Mixin::PowershellOut
56
+ include Chef::Mixin::ShellOut
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -537,8 +537,6 @@ super if defined?(::Chef::Property)
537
537
  end
538
538
  end
539
539
 
540
- protected
541
-
542
540
  #
543
541
  # The options this Property will use for get/set behavior and validation.
544
542
  #
@@ -589,6 +587,7 @@ super if defined?(::Chef::Property)
589
587
  (options.has_key?(:is) && resource.send(:_pv_is, { name => nil }, name, options[:is], raise_error: false))
590
588
  end
591
589
 
590
+ # @api private
592
591
  def get_value(resource)
593
592
  if instance_variable_name
594
593
  resource.instance_variable_get(instance_variable_name)
@@ -597,6 +596,7 @@ super if defined?(::Chef::Property)
597
596
  end
598
597
  end
599
598
 
599
+ # @api private
600
600
  def set_value(resource, value)
601
601
  if instance_variable_name
602
602
  resource.instance_variable_set(instance_variable_name, value)
@@ -605,6 +605,7 @@ super if defined?(::Chef::Property)
605
605
  end
606
606
  end
607
607
 
608
+ # @api private
608
609
  def value_is_set?(resource)
609
610
  if instance_variable_name
610
611
  resource.instance_variable_defined?(instance_variable_name)
@@ -613,6 +614,7 @@ super if defined?(::Chef::Property)
613
614
  end
614
615
  end
615
616
 
617
+ # @api private
616
618
  def reset_value(resource)
617
619
  if instance_variable_name
618
620
  if value_is_set?(resource)
@@ -623,6 +625,8 @@ super if defined?(::Chef::Property)
623
625
  end
624
626
  end
625
627
 
628
+ private
629
+
626
630
  def exec_in_resource(resource, proc, *args)
627
631
  if resource
628
632
  if proc.arity > args.size
@@ -9,7 +9,7 @@ module CopiedFromChef
9
9
  require "chef_compat/copied_from_chef/chef/resource/action_class"
10
10
  require "chef_compat/copied_from_chef/chef/provider"
11
11
  require "chef_compat/copied_from_chef/chef/mixin/properties"
12
- require "chef_compat/copied_from_chef/chef/mixin/powershell_out"
12
+ require "chef_compat/copied_from_chef/chef/dsl/universal"
13
13
  class Chef < (defined?(::Chef) ? ::Chef : Object)
14
14
  class Resource < (defined?(::Chef::Resource) ? ::Chef::Resource : Object)
15
15
  include Chef::Mixin::Properties
@@ -192,6 +192,9 @@ super if defined?(::Chef::Resource)
192
192
  class << self
193
193
  end
194
194
  @@sorted_descendants = nil
195
+ module DeprecatedLWRPClass
196
+ CopiedFromChef.extend_chef_module(::Chef::Resource::DeprecatedLWRPClass, self) if defined?(::Chef::Resource::DeprecatedLWRPClass)
197
+ end
195
198
  private
196
199
  end
197
200
  end
@@ -113,7 +113,11 @@ super if defined?(::Chef::ResourceBuilder)
113
113
  end
114
114
 
115
115
  def is_trivial_resource?(resource)
116
- identicalish_resources?(resource_class.new(name, run_context), resource)
116
+ trivial_resource = resource_class.new(name, run_context)
117
+ # force un-lazy the name property on the created trivial resource
118
+ name_property = resource_class.properties.find { |sym, p| p.name_property? }
119
+ trivial_resource.send(name_property[0]) unless name_property.nil?
120
+ identicalish_resources?(trivial_resource, resource)
117
121
  end
118
122
 
119
123
  # this is an equality test specific to checking for 3694 cloning warnings
@@ -133,9 +137,10 @@ super if defined?(::Chef::ResourceBuilder)
133
137
  end
134
138
 
135
139
  def emit_cloned_resource_warning
136
- Chef::Log.warn("Cloning resource attributes for #{resource} from prior resource (CHEF-3694)")
137
- Chef::Log.warn("Previous #{prior_resource}: #{prior_resource.source_line}") if prior_resource.source_line
138
- Chef::Log.warn("Current #{resource}: #{resource.source_line}") if resource.source_line
140
+ message = "Cloning resource attributes for #{resource} from prior resource (CHEF-3694)"
141
+ message << "\nPrevious #{prior_resource}: #{prior_resource.source_line}" if prior_resource.source_line
142
+ message << "\nCurrent #{resource}: #{resource.source_line}" if resource.source_line
143
+ Chef.log_deprecation(message)
139
144
  end
140
145
 
141
146
  def emit_harmless_cloning_debug
@@ -1,3 +1,3 @@
1
1
  module CompatResource
2
- VERSION = '12.10.6'
2
+ VERSION = '12.10.7'
3
3
  end
@@ -1,5 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ gem 'rack', '< 2.0' # 2.0 requires Ruby 2.2+
4
+
3
5
  if ENV['GEMFILE_MOD']
4
6
  instance_eval(ENV['GEMFILE_MOD'])
5
7
  else
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: compat_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.10.6
4
+ version: 12.10.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Keiser
8
8
  autorequire:
9
9
  bindir: files/bin
10
10
  cert_chain: []
11
- date: 2016-06-06 00:00:00.000000000 Z
11
+ date: 2016-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -82,7 +82,9 @@ files:
82
82
  - files/lib/chef_compat/copied_from_chef/chef/delayed_evaluator.rb
83
83
  - files/lib/chef_compat/copied_from_chef/chef/dsl/core.rb
84
84
  - files/lib/chef_compat/copied_from_chef/chef/dsl/declare_resource.rb
85
+ - files/lib/chef_compat/copied_from_chef/chef/dsl/platform_introspection.rb
85
86
  - files/lib/chef_compat/copied_from_chef/chef/dsl/recipe.rb
87
+ - files/lib/chef_compat/copied_from_chef/chef/dsl/universal.rb
86
88
  - files/lib/chef_compat/copied_from_chef/chef/mixin/lazy_module_include.rb
87
89
  - files/lib/chef_compat/copied_from_chef/chef/mixin/notifying_block.rb
88
90
  - files/lib/chef_compat/copied_from_chef/chef/mixin/params_validate.rb
@@ -120,7 +122,6 @@ files:
120
122
  - files/lib/compat_resource/version.rb
121
123
  - files/spec/cookbook_spec.rb
122
124
  - files/spec/data/Gemfile
123
- - files/spec/data/Gemfile.lock
124
125
  - files/spec/data/config.rb
125
126
  - files/spec/data/cookbooks/cloning/metadata.rb
126
127
  - files/spec/data/cookbooks/cloning/providers/resource.rb
@@ -169,9 +170,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
170
  version: '0'
170
171
  requirements: []
171
172
  rubyforge_project:
172
- rubygems_version: 2.6.4
173
+ rubygems_version: 2.6.6
173
174
  signing_key:
174
175
  specification_version: 4
175
176
  summary: Bring some new features of Chef 12.5 to previous 12.X releases
176
177
  test_files: []
177
- has_rdoc:
@@ -1,126 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- builder (3.2.2)
5
- chef (12.3.0)
6
- chef-zero (~> 4.1)
7
- diff-lcs (~> 1.2, >= 1.2.4)
8
- erubis (~> 2.7)
9
- ffi-yajl (>= 1.2, < 3.0)
10
- highline (~> 1.6, >= 1.6.9)
11
- mixlib-authentication (~> 1.3)
12
- mixlib-cli (~> 1.4)
13
- mixlib-config (~> 2.0)
14
- mixlib-log (~> 1.3)
15
- mixlib-shellout (>= 2.0.0.rc.0, < 3.0)
16
- net-ssh (~> 2.6)
17
- net-ssh-multi (~> 1.1)
18
- ohai (~> 8.0)
19
- plist (~> 3.1.0)
20
- pry (~> 0.9)
21
- rspec-core (~> 3.2)
22
- rspec-expectations (~> 3.2)
23
- rspec-mocks (~> 3.2)
24
- rspec_junit_formatter (~> 0.2.0)
25
- serverspec (~> 2.7)
26
- specinfra (~> 2.10)
27
- chef-config (12.8.1)
28
- mixlib-config (~> 2.0)
29
- mixlib-shellout (~> 2.0)
30
- chef-zero (4.5.0)
31
- ffi-yajl (~> 2.2)
32
- hashie (>= 2.0, < 4.0)
33
- mixlib-log (~> 1.3)
34
- rack
35
- uuidtools (~> 2.1)
36
- coderay (1.1.1)
37
- diff-lcs (1.2.5)
38
- erubis (2.7.0)
39
- ffi (1.9.10)
40
- ffi-yajl (2.2.3)
41
- libyajl2 (~> 1.2)
42
- hashie (3.4.3)
43
- highline (1.7.8)
44
- ipaddress (0.8.3)
45
- libyajl2 (1.2.0)
46
- method_source (0.8.2)
47
- mixlib-authentication (1.4.0)
48
- mixlib-log
49
- rspec-core (~> 3.2)
50
- rspec-expectations (~> 3.2)
51
- rspec-mocks (~> 3.2)
52
- mixlib-cli (1.5.0)
53
- mixlib-config (2.2.1)
54
- mixlib-log (1.6.0)
55
- mixlib-shellout (2.2.6)
56
- multi_json (1.11.2)
57
- net-scp (1.2.1)
58
- net-ssh (>= 2.6.5)
59
- net-ssh (2.9.4)
60
- net-ssh-gateway (1.2.0)
61
- net-ssh (>= 2.6.5)
62
- net-ssh-multi (1.2.1)
63
- net-ssh (>= 2.6.5)
64
- net-ssh-gateway (>= 1.2.0)
65
- net-telnet (0.1.1)
66
- ohai (8.12.1)
67
- chef-config (>= 12.5.0.alpha.1, < 13)
68
- ffi (~> 1.9)
69
- ffi-yajl (~> 2.2)
70
- ipaddress
71
- mixlib-cli
72
- mixlib-config (~> 2.0)
73
- mixlib-log
74
- mixlib-shellout (~> 2.0)
75
- plist
76
- systemu (~> 2.6.4)
77
- wmi-lite (~> 1.0)
78
- plist (3.1.0)
79
- pry (0.10.3)
80
- coderay (~> 1.1.0)
81
- method_source (~> 0.8.1)
82
- slop (~> 3.4)
83
- rack (1.6.4)
84
- rspec (3.4.0)
85
- rspec-core (~> 3.4.0)
86
- rspec-expectations (~> 3.4.0)
87
- rspec-mocks (~> 3.4.0)
88
- rspec-core (3.4.4)
89
- rspec-support (~> 3.4.0)
90
- rspec-expectations (3.4.0)
91
- diff-lcs (>= 1.2.0, < 2.0)
92
- rspec-support (~> 3.4.0)
93
- rspec-its (1.2.0)
94
- rspec-core (>= 3.0.0)
95
- rspec-expectations (>= 3.0.0)
96
- rspec-mocks (3.4.1)
97
- diff-lcs (>= 1.2.0, < 2.0)
98
- rspec-support (~> 3.4.0)
99
- rspec-support (3.4.1)
100
- rspec_junit_formatter (0.2.3)
101
- builder (< 4)
102
- rspec-core (>= 2, < 4, != 2.12.0)
103
- serverspec (2.31.0)
104
- multi_json
105
- rspec (~> 3.0)
106
- rspec-its
107
- specinfra (~> 2.53)
108
- sfl (2.2)
109
- slop (3.6.0)
110
- specinfra (2.54.1)
111
- net-scp
112
- net-ssh (>= 2.7, < 3.1)
113
- net-telnet
114
- sfl
115
- systemu (2.6.5)
116
- uuidtools (2.1.5)
117
- wmi-lite (1.0.0)
118
-
119
- PLATFORMS
120
- ruby
121
-
122
- DEPENDENCIES
123
- chef (~> 12.3, < 12.4)
124
-
125
- BUNDLED WITH
126
- 1.11.2