37 lines
868 B
Ruby
37 lines
868 B
Ruby
|
#!/usr/bin/env rake
|
||
|
|
||
|
@cookbook = "nodejs"
|
||
|
|
||
|
desc "Runs foodcritic linter"
|
||
|
task :foodcritic do
|
||
|
if Gem::Version.new("1.9.2") <= Gem::Version.new(RUBY_VERSION.dup)
|
||
|
sandbox = File.join(File.dirname(__FILE__), %w{tmp foodcritic}, @cookbook)
|
||
|
prepare_foodcritic_sandbox(sandbox)
|
||
|
|
||
|
sh "foodcritic --epic-fail any #{File.dirname(sandbox)}"
|
||
|
else
|
||
|
puts "WARN: foodcritic run is skipped as Ruby #{RUBY_VERSION} is < 1.9.2."
|
||
|
end
|
||
|
end
|
||
|
|
||
|
task :default => 'foodcritic'
|
||
|
|
||
|
private
|
||
|
|
||
|
def prepare_foodcritic_sandbox(sandbox)
|
||
|
files = %w{*.md *.rb attributes definitions files providers
|
||
|
recipes resources templates}
|
||
|
|
||
|
rm_rf sandbox
|
||
|
mkdir_p sandbox
|
||
|
cp_r Dir.glob("{#{files.join(',')}}"), sandbox
|
||
|
puts "\n\n"
|
||
|
end
|
||
|
|
||
|
begin
|
||
|
require 'kitchen/rake_tasks'
|
||
|
Kitchen::RakeTasks.new
|
||
|
rescue LoadError
|
||
|
puts ">>>>> Kitchen gem not loaded, omitting tasks" unless ENV['CI']
|
||
|
end
|