require 'lib/usher' begin require 'jeweler' Jeweler::Tasks.new do |s| s.name = "usher" s.description = s.summary = "A general purpose routing library" s.email = "joshbuddy@gmail.com" s.homepage = "http://github.com/joshbuddy/usher" s.authors = ["Joshua Hull"] s.files = FileList["[A-Z]*", "{lib,spec,rails}/**/*"] s.add_dependency 'fuzzyhash', '>=0.0.3' s.rubyforge_project = 'joshbuddy-usher' # This line would be new end rescue LoadError puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com" end require 'spec' require 'spec/rake/spectask' task :spec => 'spec:all' namespace(:spec) do Spec::Rake::SpecTask.new(:all) do |t| t.spec_opts ||= [] t.spec_opts << "-rubygems" t.spec_opts << "--options" << "spec/spec.opts" t.spec_files = FileList['spec/**/*_spec.rb'] end end desc "Run all examples with RCov" Spec::Rake::SpecTask.new('spec_with_rcov') do |t| t.spec_files = FileList['spec/**/*.rb'] t.rcov = true t.rcov_opts = ['--exclude', 'spec'] end require 'rake/rdoctask' desc "Generate documentation" Rake::RDocTask.new do |rd| rd.main = "README.rdoc" rd.rdoc_files.include("README.rdoc", "lib/**/*.rb") rd.rdoc_dir = 'rdoc' end # These are new tasks begin require 'rake/contrib/sshpublisher' namespace :rubyforge do desc "Release gem and RDoc documentation to RubyForge" task :release => ["rubyforge:release:gem", "rubyforge:release:docs"] namespace :release do desc "Publish RDoc to RubyForge." task :docs => [:rdoc] do config = YAML.load( File.read(File.expand_path('~/.rubyforge/user-config.yml')) ) host = "#{config['username']}@rubyforge.org" remote_dir = "/var/www/gforge-projects/joshbuddy-usher/" local_dir = 'rdoc' Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload end end end rescue LoadError puts "Rake SshDirPublisher is unavailable or your rubyforge environment is not configured." end