aboutsummaryrefslogtreecommitdiffstats
path: root/Rakefile
blob: 53ff3a5b7df09b5f798e6e4a1082812f3896e1f6 (plain) (blame)
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
require "rubygems"
require "spec/rake/spectask"

$LOAD_PATH.unshift "lib"
require "arel"

begin
  require 'jeweler'

  Jeweler::Tasks.new do |s|
    s.name      = "arel"
    s.authors   = ["Bryan Helmkamp", "Nick Kallen"]
    s.email     = "bryan" + "@" + "brynary.com"
    s.homepage  = "http://github.com/brynary/arel"
    s.summary   = "Arel is a relational algebra engine for Ruby"
    # s.description  = "TODO"
    s.rubyforge_project = "arel"
    s.extra_rdoc_files = %w(README.markdown)
  end

  Jeweler::RubyforgeTasks.new
rescue LoadError
  puts "Jeweler not available. Install it with: gem install jeweler"
end

desc "Run specs using RCov (uses mysql database adapter)"
Spec::Rake::SpecTask.new(:coverage) do |t|
  t.spec_files =
    ["spec/connections/mysql_connection.rb"] +
    FileList['spec/**/*_spec.rb']

  t.rcov = true
  t.rcov_opts << '--exclude' << "spec,gems"
  t.rcov_opts << '--text-summary'
  t.rcov_opts << '--sort' << 'coverage' << '--sort-reverse'
  t.rcov_opts << '--only-uncovered'
end

namespace :spec do
  for adapter in %w[mysql sqlite3 postgresql]
    desc "Run specs with the #{adapter} database adapter"
    Spec::Rake::SpecTask.new(adapter) do |t|
      t.libs << "#{File.dirname(__FILE__)}/vendor/rails/activerecord/lib"
      t.libs << "#{File.dirname(__FILE__)}/spec"
      t.spec_files =
        ["spec/connections/#{adapter}_connection.rb"] +
        ["spec/schemas/#{adapter}_schema.rb"] +
        FileList['spec/**/*_spec.rb']
    end
  end
end

desc "Run specs with mysql and sqlite3 database adapters (default)"
task :spec => ["check_dependencies", "spec:sqlite3", "spec:mysql", "spec:postgresql"]

desc "Default task is to run specs"
task :default => :spec

desc 'Removes trailing whitespace'
task :whitespace do
  sh %{find . -name '*.rb' -exec sed -i '' 's/ *$//g' {} \\;}
end