public
Description: Ruby driver for MongoDB
Homepage: http://api.mongodb.org/ruby
Clone URL: git://github.com/mongodb/mongo-ruby-driver.git
mongo-ruby-driver / Rakefile
100644 77 lines (64 sloc) 1.745 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
require 'rubygems'
require 'rubygems/specification'
require 'fileutils'
require 'rake'
require 'rake/testtask'
require 'rake/gempackagetask'
begin
  require 'rake/contrib/rubyforgepublisher'
rescue LoadError
end
require 'rbconfig'
include Config
 
gem_command = "gem"
gem_command = "gem1.9" if $0.match(/1\.9$/) # use gem1.9 if we used rake1.9
 
# NOTE: the functional tests assume MongoDB is running.
desc "Test the MongoDB Ruby driver."
task :test do
  Rake::Task['test:unit'].invoke
  Rake::Task['test:functional'].invoke
end
 
namespace :test do
  Rake::TestTask.new(:unit) do |t|
    t.test_files = FileList['test/unit/*_test.rb']
    t.verbose = true
  end
 
  Rake::TestTask.new(:functional) do |t|
    t.test_files = FileList['test/test*.rb']
    t.verbose = true
  end
end
 
desc "Generate documentation"
task :rdoc do
  version = eval(File.read("mongo-ruby-driver.gemspec")).version
  out = File.join('html', version.to_s)
  FileUtils.rm_rf('html')
  system "rdoc --main README.rdoc --op #{out} --inline-source --quiet README.rdoc `find lib -name '*.rb'`"
end
 
desc "Publish documentation to mongo.rubyforge.org"
task :publish => [:rdoc] do
  # Assumes docs are in ./html
  Rake::RubyForgePublisher.new(GEM, RUBYFORGE_USER).upload
end
 
namespace :gem do
 
  desc "Install the gem locally"
  task :install do
    sh <<EOS
#{gem_command} build mongo-ruby-driver.gemspec &&
sudo #{gem_command} install mongo-*.gem &&
rm mongo-*.gem
EOS
  end
 
  desc "Install the optional c extensions"
  task :install_extensions do
    sh <<EOS
#{gem_command} build mongo-extensions.gemspec &&
sudo #{gem_command} install mongo_ext-*.gem &&
rm mongo_ext-*.gem
EOS
  end
 
end
 
task :default => :list
 
task :list do
  system 'rake -T'
end