2008-05-31 13:46:33 -04:00
|
|
|
require 'rubygems'
|
2008-05-28 18:40:32 -04:00
|
|
|
require 'rake'
|
|
|
|
require 'rake/rdoctask'
|
2008-10-23 01:55:56 -04:00
|
|
|
require 'rcov/rcovtask'
|
2008-06-03 11:41:06 -04:00
|
|
|
require 'date'
|
2010-06-23 10:59:11 -04:00
|
|
|
require 'rake/gempackagetask'
|
2008-05-28 18:40:32 -04:00
|
|
|
|
2009-04-11 11:27:23 -04:00
|
|
|
require 'spec/rake/spectask'
|
2009-09-15 15:56:54 -04:00
|
|
|
require 'cucumber/rake/task'
|
2008-05-28 18:40:32 -04:00
|
|
|
|
2009-09-15 15:56:54 -04:00
|
|
|
desc 'Default: run the specs and features.'
|
2010-04-22 15:30:50 -04:00
|
|
|
task :default do
|
2010-06-10 13:37:51 -04:00
|
|
|
system("rake -s spec:unit;")
|
2010-05-19 13:22:21 -04:00
|
|
|
%w(2.1 2.3 3.0).each do |version|
|
2010-06-10 13:37:51 -04:00
|
|
|
system("RAILS_VERSION=#{version} rake -s spec:acceptance features;")
|
2010-04-22 15:30:50 -04:00
|
|
|
end
|
|
|
|
end
|
2009-04-11 11:27:23 -04:00
|
|
|
|
2010-06-10 13:37:51 -04:00
|
|
|
namespace :spec do
|
|
|
|
desc "Run unit specs"
|
|
|
|
Spec::Rake::SpecTask.new('unit') do |t|
|
|
|
|
t.spec_opts = ['--options', "spec/spec.opts"]
|
|
|
|
t.spec_files = FileList['spec/factory_girl/**/*_spec.rb']
|
|
|
|
end
|
|
|
|
|
|
|
|
desc "Run acceptance specs"
|
|
|
|
Spec::Rake::SpecTask.new('acceptance') do |t|
|
|
|
|
t.spec_opts = ['--options', "spec/spec.opts"]
|
|
|
|
t.spec_files = FileList['spec/acceptance/**/*_spec.rb']
|
|
|
|
end
|
2008-05-28 18:40:32 -04:00
|
|
|
end
|
|
|
|
|
2010-06-10 13:37:51 -04:00
|
|
|
desc "Run the unit and acceptance specs"
|
|
|
|
task :spec => ['spec:unit', 'spec:acceptance']
|
|
|
|
|
2008-10-23 01:55:56 -04:00
|
|
|
desc 'Performs code coverage on the factory_girl plugin.'
|
|
|
|
Rcov::RcovTask.new do |t|
|
2009-04-11 11:27:23 -04:00
|
|
|
t.test_files = FileList['spec/*_spec.rb']
|
2008-10-23 01:55:56 -04:00
|
|
|
t.verbose = true
|
|
|
|
end
|
|
|
|
|
2008-05-28 18:40:32 -04:00
|
|
|
desc 'Generate documentation for the factory_girl plugin.'
|
|
|
|
Rake::RDocTask.new(:rdoc) do |rdoc|
|
|
|
|
rdoc.rdoc_dir = 'rdoc'
|
|
|
|
rdoc.title = 'Factory Girl'
|
2009-02-26 17:36:10 -05:00
|
|
|
rdoc.options << '--line-numbers' << "--main" << "README.rdoc"
|
2009-02-17 16:38:15 -05:00
|
|
|
rdoc.rdoc_files.include('README.rdoc')
|
2009-02-17 18:20:15 -05:00
|
|
|
rdoc.rdoc_files.include('CONTRIBUTION_GUIDELINES.rdoc')
|
2008-05-28 18:40:32 -04:00
|
|
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
|
|
end
|
2008-05-31 13:46:33 -04:00
|
|
|
|
2008-06-06 11:43:27 -04:00
|
|
|
desc 'Update documentation on website'
|
|
|
|
task :sync_docs => 'rdoc' do
|
|
|
|
`rsync -ave ssh rdoc/ dev@dev.thoughtbot.com:/home/dev/www/dev.thoughtbot.com/factory_girl`
|
|
|
|
end
|
|
|
|
|
2008-06-01 14:17:26 -04:00
|
|
|
desc "Clean files generated by rake tasks"
|
2010-03-28 19:18:31 -04:00
|
|
|
task :clobber => [:clobber_rdoc, :clobber_rcov]
|
2009-09-15 15:56:54 -04:00
|
|
|
|
|
|
|
Cucumber::Rake::Task.new(:features) do |t|
|
|
|
|
t.fork = true
|
|
|
|
t.cucumber_opts = ['--format', (ENV['CUCUMBER_FORMAT'] || 'progress')]
|
|
|
|
end
|
2010-06-23 10:59:11 -04:00
|
|
|
|
|
|
|
eval("$specification = begin; #{IO.read('factory_girl.gemspec')}; end")
|
|
|
|
Rake::GemPackageTask.new($specification) do |package|
|
|
|
|
package.need_zip = true
|
|
|
|
package.need_tar = true
|
|
|
|
end
|