# frozen_string_literal: true context = ChefDK::Generator.context app_dir = File.join(context.app_root, context.app_name) cookbooks_dir = context.cookbook_root cookbook_dir = File.join(cookbooks_dir, context.cookbook_name) # app root dir directory app_dir # Top level files # Test Kitchen template "#{app_dir}/.kitchen.yml" do source 'kitchen.yml.erb' helpers(ChefDK::Generator::TemplateHelper) end # Inspec directory "#{app_dir}/test/smoke/default" do recursive true end template "#{app_dir}/test/smoke/default/default_test.rb" do source 'inspec_default_test.rb.erb' helpers(ChefDK::Generator::TemplateHelper) action :create_if_missing end # README template "#{app_dir}/README.md" do helpers(ChefDK::Generator::TemplateHelper) end # Generated Cookbook: # cookbook collection dir directory cookbooks_dir # cookbook collection dir directory cookbook_dir # metadata.rb template "#{cookbook_dir}/metadata.rb" do helpers(ChefDK::Generator::TemplateHelper) end # chefignore cookbook_file "#{cookbook_dir}/chefignore" # Berks cookbook_file "#{cookbook_dir}/Berksfile" # Recipes directory "#{cookbook_dir}/recipes" template "#{cookbook_dir}/recipes/default.rb" do source 'recipe.rb.erb' helpers(ChefDK::Generator::TemplateHelper) end # Chefspec directory "#{cookbook_dir}/spec/unit/recipes" do recursive true end cookbook_file "#{cookbook_dir}/spec/spec_helper.rb" do action :create_if_missing end template "#{cookbook_dir}/spec/unit/recipes/default_spec.rb" do source 'recipe_spec.rb.erb' helpers(ChefDK::Generator::TemplateHelper) action :create_if_missing end # git if context.have_git unless context.skip_git_init execute('initialize-git') do command('git init .') cwd app_dir end end cookbook_file "#{app_dir}/.gitignore" do source 'gitignore' end end