dir = File.dirname(__FILE__) require 'rake/testtask' task :default => :test Rake::TestTask.new do |t| t.libs << "test" t.test_files = Dir.glob("#{dir}/test/cases/**/*_test.rb").sort t.warning = true end namespace :test do task :isolated do ruby = File.join(*RbConfig::CONFIG.values_at('bindir', 'RUBY_INSTALL_NAME')) Dir.glob("#{dir}/test/**/*_test.rb").all? do |file| system(ruby, '-w', "-I#{dir}/lib", "-I#{dir}/test", file) end or raise "Failures" end end require 'rake/rdoctask' # Generate the RDoc documentation Rake::RDocTask.new do |rdoc| rdoc.rdoc_dir = "doc" rdoc.title = "Active Model" rdoc.options << '--line-numbers' << '--inline-source' << '-A cattr_accessor=object' rdoc.options << '--charset' << 'utf-8' rdoc.template = ENV['template'] ? "#{ENV['template']}.rb" : '../doc/template/horo' rdoc.rdoc_files.include("README", "CHANGELOG") rdoc.rdoc_files.include("lib/**/*.rb") end require 'rake/packagetask' require 'rake/gempackagetask' spec = eval(File.read("#{dir}/activemodel.gemspec")) Rake::GemPackageTask.new(spec) do |p| p.gem_spec = spec end desc "Release to gemcutter" task :release => :package do require 'rake/gemcutter' Rake::Gemcutter::Tasks.new(spec).define Rake::Task['gem:push'].invoke end