require 'rake'
require 'spec/rake/spectask'

task :default => :spec

Spec::Rake::SpecTask.new(:spec) do |t|
  #t.spec_opts = ['--options', "\"#{File.dirname(__FILE__)}/spec/spec.opts\""]
  t.spec_files = FileList['test/*_spec.rb']
end

desc "Run all specs"
task :spec

desc "Package for CommonJS"
task :commonjs do
  puts "Packaging for CommonJS"
  `mkdir lib`
  `cp mustache.js lib/mustache.js`
  puts "Done."
end

desc "Package for jQuery"
task :jquery do
  puts "Packaging for jQuery"
  source = "mustache-jquery"
  target_jq = "jquery.mustache.js"
  `cat #{source}/#{target_jq}.tpl.pre mustache.js #{source}/#{target_jq}.tpl.post > #{target_jq}`
  puts "Done, see ./#{target_jq}"
end

desc "Package for dojo"
task :dojo do
  puts "Packaging for dojo"
  source = "mustache-dojo"
  target_js = "mustache.js"
  `mkdir -p dojox; mkdir -p dojox/string`
  `cat #{source}/#{target_js}.tpl.pre mustache.js #{source}/#{target_js}.tpl.post > dojox/string/#{target_js}`
  puts "Done, see ./dojox/string/#{target_js} Include using dojo.require('dojox.string.mustache.'); "
end

desc "Package for YUI3"
task :yui3 do
  puts "Packaging for YUI3"
  source = "mustache-yui3"
  target_js = "mustache.js"
  `mkdir -p yui3; mkdir -p yui3/mustache`
  `cat #{source}/#{target_js}.tpl.pre mustache.js #{source}/#{target_js}.tpl.post > yui3/mustache/#{target_js}`
  puts "Done, see ./yui3/mustache/#{target_js}"
end

desc "Remove temporary files."
task :clean do
  `git clean -fdx`
end
