technoweenie / can_search

Build common named scopes automatically, and provide a simple way to merge them with a single #search call.

This URL has Read+Write access

can_search / Rakefile
60aa6fcf » technoweenie 2008-04-05 initial commit (extraction ... 1 require 'rake'
2 require "rake/rdoctask"
3 require 'rake/gempackagetask'
4 require File.join(File.dirname(__FILE__), 'spec', 'spec_helper')
5 require 'spec/rake/spectask'
6 require 'spec/rake/verify_rcov'
7
8 rdoc_files = FileList["{bin,lib,example_configs}/**/*"].to_a
9 extra_rdoc_files = %w(README COPYRIGHT RELEASES CHANGELOG)
10
11 Rake::RDocTask.new do |rd|
12 rd.main = "README"
13 rd.rdoc_files.include(rdoc_files, extra_rdoc_files)
14 rd.rdoc_dir = "doc/rdoc/"
15 end
16
17 desc "Run all examples with RCov"
18 Spec::Rake::SpecTask.new(:rcov) do |t|
19 t.spec_files = FileList['spec/**/*.rb']
20 t.rcov = true
21 t.rcov_opts = ['--exclude', 'spec']
22 t.rcov_dir = "doc/rcov"
23 end
24
25 desc "Run all specs"
26 Spec::Rake::SpecTask.new(:spec) do |t|
27 t.spec_files = FileList['spec/**/*.rb']
28 t.rcov = false
29 end
30
31 desc "Generate RSpec Report"
32 task :rspec_report => [:clobber_rspec_report] do
33 files = FileList["spec/**/*.rb"].to_s
34 %x(spec #{files} --format html:doc/rspec_report.html)
35 end
36
37 task :clobber_rspec_report do
38 %x(rm -rf doc/rspec_report.html)
39 end
40
41 desc "Generate all documentation"
42 task :generate_documentation => [:clobber_documentation, :rdoc, :rcov, :rspec_report]
43
44 desc "Remove all documentation"
45 task :clobber_documentation => [:clobber_rdoc, :clobber_rcov, :clobber_rspec_report]
46
47 desc "Build Release"
48 task :build_release => [:pre_commit, :generate_documentation, :repackage] do
49 %x(mv pkg gem)
50 end
51
52 desc "Run this before commiting"
53 task :pre_commit => [:verify_rcov]