| 1 |
require 'rubygems' |
|---|
| 2 |
Gem.clear_paths |
|---|
| 3 |
Gem.path.unshift(File.join(File.dirname(__FILE__), "gems")) |
|---|
| 4 |
|
|---|
| 5 |
require 'rake' |
|---|
| 6 |
require 'rake/rdoctask' |
|---|
| 7 |
require 'rake/testtask' |
|---|
| 8 |
require 'spec/rake/spectask' |
|---|
| 9 |
require 'fileutils' |
|---|
| 10 |
|
|---|
| 11 |
require File.dirname(__FILE__)+'/config/boot.rb' |
|---|
| 12 |
require Merb::framework_root+'/tasks' |
|---|
| 13 |
include FileUtils |
|---|
| 14 |
|
|---|
| 15 |
# Set these before any dependencies load |
|---|
| 16 |
# otherwise the ORM may connect to the wrong env |
|---|
| 17 |
Merb.root = File.dirname(__FILE__) |
|---|
| 18 |
Merb.environment = ENV['MERB_ENV'] if ENV['MERB_ENV'] |
|---|
| 19 |
|
|---|
| 20 |
# Get Merb plugins and dependencies |
|---|
| 21 |
require File.dirname(__FILE__)+'/config/dependencies.rb' |
|---|
| 22 |
Merb::Plugins.rakefiles.each {|r| require r } |
|---|
| 23 |
|
|---|
| 24 |
#desc "Packages up Merb." |
|---|
| 25 |
#task :default => [:package] |
|---|
| 26 |
|
|---|
| 27 |
desc "load merb_init.rb" |
|---|
| 28 |
task :merb_init do |
|---|
| 29 |
# deprecated - here for BC |
|---|
| 30 |
Rake::Task['merb_env'].invoke |
|---|
| 31 |
end |
|---|
| 32 |
|
|---|
| 33 |
task :uninstall => [:clean] do |
|---|
| 34 |
sh %{sudo gem uninstall #{NAME}} |
|---|
| 35 |
end |
|---|
| 36 |
|
|---|
| 37 |
desc 'Run unit tests' |
|---|
| 38 |
Rake::TestTask.new('test_unit') do |t| |
|---|
| 39 |
t.libs << 'test' |
|---|
| 40 |
t.pattern = 'test/unit/*_test.rb' |
|---|
| 41 |
t.verbose = true |
|---|
| 42 |
end |
|---|
| 43 |
|
|---|
| 44 |
desc 'Run functional tests' |
|---|
| 45 |
Rake::TestTask.new('test_functional') do |t| |
|---|
| 46 |
t.libs << 'test' |
|---|
| 47 |
t.pattern = 'test/functional/*_test.rb' |
|---|
| 48 |
t.verbose = true |
|---|
| 49 |
end |
|---|
| 50 |
|
|---|
| 51 |
desc 'Run all tests' |
|---|
| 52 |
Rake::TestTask.new('test') do |t| |
|---|
| 53 |
t.libs << 'test' |
|---|
| 54 |
t.pattern = 'test/**/*_test.rb' |
|---|
| 55 |
t.verbose = true |
|---|
| 56 |
end |
|---|
| 57 |
|
|---|
| 58 |
desc "Run all specs" |
|---|
| 59 |
Spec::Rake::SpecTask.new('specs') do |t| |
|---|
| 60 |
t.spec_opts = ["--format", "specdoc", "--colour"] |
|---|
| 61 |
t.spec_files = Dir['spec/**/*_spec.rb'].sort |
|---|
| 62 |
end |
|---|
| 63 |
|
|---|
| 64 |
desc "Run all model specs" |
|---|
| 65 |
Spec::Rake::SpecTask.new('model_specs') do |t| |
|---|
| 66 |
t.spec_opts = ["--format", "specdoc", "--colour"] |
|---|
| 67 |
t.spec_files = Dir['spec/models/**/*_spec.rb'].sort |
|---|
| 68 |
end |
|---|
| 69 |
|
|---|
| 70 |
desc "Run all controller specs" |
|---|
| 71 |
Spec::Rake::SpecTask.new('controller_specs') do |t| |
|---|
| 72 |
t.spec_opts = ["--format", "specdoc", "--colour"] |
|---|
| 73 |
t.spec_files = Dir['spec/controllers/**/*_spec.rb'].sort |
|---|
| 74 |
end |
|---|
| 75 |
|
|---|
| 76 |
desc "Run a specific spec with TASK=xxxx" |
|---|
| 77 |
Spec::Rake::SpecTask.new('spec') do |t| |
|---|
| 78 |
t.spec_opts = ["--format", "specdoc", "--colour"] |
|---|
| 79 |
t.libs = ['lib', 'server/lib' ] |
|---|
| 80 |
t.spec_files = ["spec/merb/#{ENV['TASK']}_spec.rb"] |
|---|
| 81 |
end |
|---|
| 82 |
|
|---|
| 83 |
desc "Run all specs output html" |
|---|
| 84 |
Spec::Rake::SpecTask.new('specs_html') do |t| |
|---|
| 85 |
t.spec_opts = ["--format", "html"] |
|---|
| 86 |
t.libs = ['lib', 'server/lib' ] |
|---|
| 87 |
t.spec_files = Dir['spec/**/*_spec.rb'].sort |
|---|
| 88 |
end |
|---|
| 89 |
|
|---|
| 90 |
desc "RCov" |
|---|
| 91 |
Spec::Rake::SpecTask.new('rcov') do |t| |
|---|
| 92 |
t.spec_opts = ["--format", "specdoc", "--colour"] |
|---|
| 93 |
t.spec_files = Dir['spec/**/*_spec.rb'].sort |
|---|
| 94 |
t.libs = ['lib', 'server/lib' ] |
|---|
| 95 |
t.rcov = true |
|---|
| 96 |
end |
|---|
| 97 |
|
|---|
| 98 |
desc 'Run all tests, specs and finish with rcov' |
|---|
| 99 |
task :aok do |
|---|
| 100 |
sh %{rake rcov} |
|---|
| 101 |
sh %{rake spec} |
|---|
| 102 |
end |
|---|
| 103 |
|
|---|
| 104 |
unless Gem.cache.search("haml").empty? |
|---|
| 105 |
namespace :haml do |
|---|
| 106 |
desc "Compiles all sass files into CSS" |
|---|
| 107 |
task :compile_sass do |
|---|
| 108 |
gem 'haml' |
|---|
| 109 |
require 'sass' |
|---|
| 110 |
puts "*** Updating stylesheets" |
|---|
| 111 |
Sass::Plugin.update_stylesheets |
|---|
| 112 |
puts "*** Done" |
|---|
| 113 |
end |
|---|
| 114 |
end |
|---|
| 115 |
end |
|---|
| 116 |
|
|---|
| 117 |
############################################################################## |
|---|
| 118 |
# SVN |
|---|
| 119 |
############################################################################## |
|---|
| 120 |
|
|---|
| 121 |
desc "Add new files to subversion" |
|---|
| 122 |
task :svn_add do |
|---|
| 123 |
system "svn status | grep '^\?' | sed -e 's/? *//' | sed -e 's/ /\ /g' | xargs svn add" |
|---|
| 124 |
end |
|---|