require 'rubygems' require 'rake/gempackagetask' require 'rake/rdoctask' require 'spec/rake/spectask' PLUGIN = "merb_helpers" NAME = "merb_helpers" VERSION = "0.9.2" AUTHOR = "Yehuda Katz" EMAIL = "wycats@gmail.com" HOMEPAGE = "http://merb.rubyforge.org/" SUMMARY = "Helper support for merb (similar to the Rails form helpers)" windows = (PLATFORM =~ /win32|cygwin/) SUDO = windows ? "" : "sudo" spec = Gem::Specification.new do |s| s.name = NAME s.version = VERSION s.platform = Gem::Platform::RUBY s.has_rdoc = true s.extra_rdoc_files = ["README", "LICENSE", 'TODO'] s.summary = SUMMARY s.description = s.summary s.author = AUTHOR s.email = EMAIL s.homepage = HOMEPAGE s.add_dependency("merb-core", ">=0.9.2") s.require_path = 'lib' s.autorequire = PLUGIN s.files = %w(LICENSE README Rakefile TODO) + Dir.glob("{lib,specs}/**/*") end Rake::GemPackageTask.new(spec) do |pkg| pkg.gem_spec = spec end desc "Run :package and install resulting .gem" task :install => [:package] do sh %{#{SUDO} gem install pkg/#{NAME}-#{VERSION} --no-rdoc --no-ri --no-update-sources} end Rake::RDocTask.new do |rdoc| files = ['README', 'LICENSE', 'lib/**/*.rb'] rdoc.rdoc_files.add(files) rdoc.main = 'README' rdoc.title = 'Merb Helper Docs' rdoc.rdoc_dir = 'doc/rdoc' rdoc.options << '--line-numbers' << '--inline-source' end Spec::Rake::SpecTask.new 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