require 'rubygems' require 'rake/gempackagetask' require "rake/rdoctask" require "extlib" require 'merb-core/tasks/merb_rake_helper' require "spec/rake/spectask" ############################################################################## # Package && release ############################################################################## RUBY_FORGE_PROJECT = "merb" PROJECT_URL = "http://merbivore.com" PROJECT_SUMMARY = "Merb plugin that provides support for Sequel and Sequel::Model" PROJECT_DESCRIPTION = PROJECT_SUMMARY GEM_AUTHOR = "Wayne E. Seguin, Lance Carlson" GEM_EMAIL = "wayneeseguin@gmail.com, lancecarlson@gmail.com" GEM_NAME = "merb_sequel" PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : '' GEM_VERSION = (Merb::MORE_VERSION rescue "0.9.7") + PKG_BUILD RELEASE_NAME = "REL #{GEM_VERSION}" require "extlib/tasks/release" spec = Gem::Specification.new do |s| s.rubyforge_project = RUBY_FORGE_PROJECT s.name = GEM_NAME s.version = GEM_VERSION s.platform = Gem::Platform::RUBY s.has_rdoc = true s.extra_rdoc_files = ["README", "LICENSE", 'TODO'] s.summary = PROJECT_SUMMARY s.description = PROJECT_DESCRIPTION s.author = GEM_AUTHOR s.email = GEM_EMAIL s.homepage = PROJECT_URL s.add_dependency("merb-core", ">= 0.9.7") s.add_dependency("sequel", ">= 1.4.0") s.files = %w(LICENSE README Rakefile TODO) + Dir.glob("{lib,specs,sequel_generators}/**/*") end Rake::GemPackageTask.new(spec) do |pkg| pkg.gem_spec = spec end ############################################################################## # Installation ############################################################################## desc "Install the gem" task :install => [:package] do sh install_command(GEM_NAME, GEM_VERSION) end namespace :jruby do desc "Run :package and install the resulting .gem with jruby" task :install => :package do sh jinstall_command(GEM_NAME, GEM_VERSION) end end ############################################################################## # Specs ############################################################################## 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 specs and generate an rcov report" Spec::Rake::SpecTask.new('rcov') do |t| t.spec_files = FileList['spec/**/*_spec.rb'] t.spec_opts = ["--format", "specdoc", "--colour"] t.rcov = true t.rcov_dir = 'coverage' t.rcov_opts = ['--exclude', 'gems', '--exclude', 'spec'] end