mongo-ruby-driver/Rakefile

98 lines
2.3 KiB
Ruby

require 'rubygems'
require 'rubygems/specification'
require 'fileutils'
require 'rake'
require 'rake/testtask'
require 'rake/gempackagetask'
require 'rake/contrib/rubyforgepublisher'
GEM = "mongo"
GEM_VERSION = '0.0.3'
SUMMARY = 'Simple pure-Ruby driver for the 10gen Mongo DB'
DESCRIPTION = 'This is a simple pure-Ruby driver for the 10gen Mongo DB. For more information about Mongo, see http://www.mongodb.org.'
AUTHOR = 'Jim Menard'
EMAIL = 'jimm@io.com'
HOMEPAGE = 'http://www.mongodb.org'
RUBYFORGE_USER = 'jimm'
spec = Gem::Specification.new do |s|
s.name = GEM
s.version = GEM_VERSION
s.platform = Gem::Platform::RUBY
s.summary = SUMMARY
s.description = DESCRIPTION
s.require_paths = ['lib']
s.files = FileList['bin/*', 'lib/**/*.rb', 'tests/**/*.rb', '[A-Z]*'].to_a
s.bindir = 'bin'
s.executables = %w( mongo_console )
s.has_rdoc = true
s.author = AUTHOR
s.email = EMAIL
s.homepage = HOMEPAGE
s.rubyforge_project = GEM # GitHub bug, gem isn't being build when this miss
end
# NOTE: some of the tests assume Mongo is running
Rake::TestTask.new do |t|
t.test_files = FileList['tests/test*.rb']
end
desc "Clone or pull (update) the mongo-qa project used for testing"
task :mongo_qa do
if File.exist?('mongo-qa')
Dir.chdir('mongo-qa') do
system('git pull')
end
else
system('git clone git://github.com/mongodb/mongo-qa.git')
end
end
desc "Generate documentation"
task :rdoc do
FileUtils.rm_rf('html')
system "rdoc --main README.rdoc --op html --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
Rake::GemPackageTask.new(spec) do |pkg|
pkg.gem_spec = spec
end
desc "Install the gem locally"
task :install => [:package] do
sh %{sudo gem install pkg/#{GEM}-#{GEM_VERSION}}
end
desc "Install the gem locally with ruby 1.9"
task :'install19' => [:package] do
sh %{sudo gem19 install pkg/#{GEM}-#{GEM_VERSION}}
end
desc "Create a gemspec file"
task :make_spec do
File.open("#{GEM}.gemspec", "w") do |file|
file.puts spec.to_ruby
end
end
end
task :default => :list
task :list do
system 'rake -T'
end