require 'rake' require 'rake/testtask' require 'rake/rdoctask' require 'rake/packagetask' $VERBOSE = nil require File.dirname(__FILE__) + '/config/environment' require 'code_statistics' require 'tasks/rails' desc 'create a .tar.gz package' Rake::PackageTask.new('rforum', '0.2') do |p| p.need_tar_gz = true p.package_files.include('*', '**/*') p.package_files.exclude(/\.svn/, 'log/*', 'pkg', 'rdoc', '*.tmproj', 'modules', 'module_packages', 'ferret_index/*') end desc 'Create & upload documentation, create package' task :release => [ :rdoc, :upload_rdoc, :clobber_package, :package ] desc 'Report code statistics (KLOCs, etc) from the application' task :stats do CodeStatistics.new( ['Controllers', 'app/controllers'], ['Helpers', 'app/helpers'], ['Models', 'app/models'], ['Units', 'test/unit'], ['Functionals', 'test/functional'], ['Libraries', 'lib'], ['Scripts', 'script'] ).to_s end Rake::RDocTask.new('rdoc') do |rdoc| rdoc.rdoc_dir = 'rdoc' rdoc.title = 'RForum Documentation' rdoc.options << '--line-numbers --inline-source' rdoc.rdoc_files.include('README') rdoc.rdoc_files.include('LICENSE') rdoc.rdoc_files.include('app/**/*.rb') rdoc.rdoc_files.include('lib/*.rb') end desc 'Upload rdoc to website' task :upload_rdoc do system "rsync -rz --delete rdoc/ rforum.andreas-s.net:/var/www/rforum.andreas-s.net/public/rdoc/" system "ssh rforum.andreas-s.net 'chmod -R o+rX /var/www/rforum.andreas-s.net/public/rdoc'" end # Shorthand aliases for test targets desc 'Shorthand for test_unit target' task :ut => [:test_units] desc 'Shorthand for test_functional target' task :ft => [:test_functional] desc 'Run all the tests without extra work' task :t => [ :test_units, :test_functional ]