summaryrefslogtreecommitdiff
path: root/lib/chef/dsl/recipe.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chef/dsl/recipe.rb')
-rw-r--r--lib/chef/dsl/recipe.rb41
1 files changed, 17 insertions, 24 deletions
diff --git a/lib/chef/dsl/recipe.rb b/lib/chef/dsl/recipe.rb
index c8b1aed74d..9da812cec0 100644
--- a/lib/chef/dsl/recipe.rb
+++ b/lib/chef/dsl/recipe.rb
@@ -1,7 +1,7 @@
-#--
+#
# Author:: Adam Jacob (<adam@chef.io>)
# Author:: Christopher Walters (<cw@chef.io>)
-# Copyright:: Copyright 2008-2016, 2009-2015 Chef Software, Inc.
+# Copyright:: Copyright 2008-2018, Chef Software Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,32 +21,37 @@ require "chef/exceptions"
require "chef/dsl/resources"
require "chef/dsl/definitions"
require "chef/dsl/data_query"
-require "chef/dsl/platform_introspection"
require "chef/dsl/include_recipe"
require "chef/dsl/registry_helper"
require "chef/dsl/reboot_pending"
require "chef/dsl/audit"
require "chef/dsl/powershell"
require "chef/dsl/core"
-require "chef/dsl/method_missing"
require "chef/mixin/lazy_module_include"
class Chef
module DSL
- # This is the "Recipe DSL" which is all the sugar, plus all the resources and definitions
- # which are mixed into user LWRPs/Resources/Providers.
+ # Part of a family of DSL mixins.
+ #
+ # Chef::DSL::Recipe mixes into Recipes and LWRP Providers.
+ # - this does not target core chef resources and providers.
+ # - this is restricted to recipe/resource/provider context where a resource collection exists.
+ # - cookbook authors should typically include modules into here.
#
- # - If you are writing cookbooks: you have come to the right place, please inject things
- # into here if you want to make them available to all recipe and non-core provider code.
+ # Chef::DSL::Core mixes into Recipes, LWRP Providers and Core Providers
+ # - this adds cores providers on top of the Recipe DSL.
+ # - this is restricted to recipe/resource/provider context where a resource collection exists.
+ # - core chef authors should typically include modules into here.
#
- # - If you are writing core chef: you have likely come to the wrong place, please consider
- # dropping your DSL modules into Chef::DSL::Core instead so that we can use them in core
- # providers (unless they are *only* intended for recipe code).
+ # Chef::DSL::Universal mixes into Recipes, LWRP Resources+Providers, Core Resources+Providers, and Attributes files.
+ # - this adds resources and attributes files.
+ # - do not add helpers which manipulate the resource collection.
+ # - this is for general-purpose stuff that is useful nearly everywhere.
+ # - it also pollutes the namespace of nearly every context, watch out.
#
module Recipe
include Chef::DSL::Core
include Chef::DSL::DataQuery
- include Chef::DSL::PlatformIntrospection
include Chef::DSL::IncludeRecipe
include Chef::DSL::RegistryHelper
include Chef::DSL::RebootPending
@@ -54,8 +59,6 @@ class Chef
include Chef::DSL::Powershell
include Chef::DSL::Resources
include Chef::DSL::Definitions
- # method_missing will disappear in Chef 13
- include Chef::DSL::MethodMissing
extend Chef::Mixin::LazyModuleInclude
def resource_class_for(snake_case_name)
@@ -71,19 +74,9 @@ class Chef
def exec(args)
raise Chef::Exceptions::ResourceNotFound, "exec was called, but you probably meant to use an execute resource. If not, please call Kernel#exec explicitly. The exec block called was \"#{args}\""
end
-
- # @deprecated Use Chef::DSL::Recipe instead, will be removed in Chef 13
- module FullDSL
- include Chef::DSL::Recipe
- extend Chef::Mixin::LazyModuleInclude
- end
end
end
end
# Avoid circular references for things that are only used in instance methods
require "chef/resource"
-
-# **DEPRECATED**
-# This used to be part of chef/mixin/recipe_definition_dsl_core. Load the file to activate the deprecation code.
-require "chef/mixin/recipe_definition_dsl_core"