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