require 'rspec/core/rake_task' require 'rubocop/rake_task' require 'foodcritic' require 'stove/rake_task' namespace :style do desc 'Run Ruby style checks' RuboCop::RakeTask.new(:ruby) do |t| t.options = [ '--auto-gen-config', # creates .rubocop_todo.yml ] end desc 'Run Chef style checks' FoodCritic::Rake::LintTask.new(:chef) do |t| t.options = { fail_tags: ['any'], } end end desc 'Run all style checks' task style: ['style:chef', 'style:ruby'] desc 'Run ChefSpec examples' RSpec::Core::RakeTask.new(:spec) desc 'Publish cookbook' Stove::RakeTask.new(:publish) do |t| t.stove_opts = [ # `--username` and `--key` are set in ~/.stove typically. #'--username', 'somebody', #'--key', '~/chef/chef.io.example.com/somebody.pem', #'--endpoint', 'https://supermarket.io.example.com/api/v1', # default: supermarket.chef.io #'--no-ssl-verify', '--no-git', '--log-level', 'info', ] end task default: ['style', 'spec']