desc “Task to execute builds on a Hudson Continuous Integration Server.” task :hudson do

Rake::Task["om:doc"].invoke
Rake::Task["coverage"].invoke

end

desc “Execute specs with coverage” task :coverage do

# Put spec opts in a file named .rspec in root
ruby_engine = defined?(RUBY_ENGINE) ? RUBY_ENGINE : "ruby"
ENV['COVERAGE'] = 'true' unless ruby_engine == 'jruby'
Rake::Task['om:rspec'].invoke

end

namespace :om do

begin
  require 'rspec/core/rake_task'

  RSpec::Core::RakeTask.new(:rspec) do |spec|
    if ENV['COVERAGE'] and RUBY_VERSION =~ /^1.8/
      spec.rcov = true
      spec.rcov_opts = %w{-I../../app -I../../lib --exclude spec\/*,gems\/*,ruby\/* --aggregate coverage.data}
    end
  end
rescue LoadError => load_error
  abort "Failed to load RSpec: #{load_error}"
end

# Use yard to build docs
begin
  require 'yard'
  require 'yard/rake/yardoc_task'
  project_root = File.expand_path("#{File.dirname(__FILE__)}/../../")
  doc_destination = File.join(project_root, 'doc')

  YARD::Rake::YardocTask.new(:doc) do |yt|
    readme_filename = 'README.md'
  end
rescue LoadError
  desc "Generate YARD Documentation"
  task :doc do
    abort "Please install the YARD gem to generate rdoc."
  end
end

end