Module: Chef::Sugar::RecipeDSL
- Defined in:
- lib/chef/sugar/filters.rb
Instance Method Summary collapse
-
#compile_time(&block) ⇒ Object
deprecated
Deprecated.
The description is in the method body pretty accurately…
Instance Method Details
#compile_time(&block) ⇒ Object
Deprecated.
The description is in the method body pretty accurately…
157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 |
# File 'lib/chef/sugar/filters.rb', line 157 def compile_time(&block) = <<-EOH The Chef Sugar recipe DSL method `compile_time' has been renamed to `at_compile_time'! This is a breaking change that was released in a patch version, so please continue reading to understand the necessary semantic versioning violation. Chef Software implemented a version of `compile_time' in Chef 12.1, breaking any cookbook that uses or depends on Chef Sugar on Chef 12.1: https://www.chef.io/blog/2015/03/03/chef-12-1-0-released In order to progress Chef Sugar forward, the DSL method has been renamed to avoid the namespace collision. In short, you should change this: compile_time do # ... end to this: at_compile_time do # ... end EOH if Chef::Resource::ChefGem.instance_methods(false).include?(:compile_time) << <<-EOH You are running a version of Chef Client that includes the `compile_time' attribute on core Chef resources (most likely Chef 12.1+). Instead of continuing and having Chef provide you with an obscure error message, I am going to error here. There is no way for the Chef Recipe to successfully continue unless you change the Chef Sugar `compile_time' method to `at_compile_time' in your Chef recipes. You should NOT change resource-level `compile_time' attributes: package "foo" do compile_time true # Do NOT change these end I truly apologize for the inconvienence and hope the reason for introducing this breaking change is clear. I am sorry if it causes extra work, but I promise this error message is much more informative than "wrong number of arguments". If you have any questions, please feel free to open an issue on GitHub at: https://github.com/sethvargo/chef-sugar Thank you, and have a great day! EOH raise RuntimeError, else << <<-EOH You are running a version of Chef Client that does not include the `compile_time' attribute on core Chef resources (most likely less than Chef 12.1), so this is just a warning. Please consider changing the Chef Sugar `compile_time' method to `at_compile_time' in your Chef recipes. If you upgrade Chef, your recipes WILL break. EOH Chef::Log.warn() at_compile_time(&block) end end |