require 'rake' require 'rake/testtask' require 'rake/rdoctask' require 'rake/gempackagetask' require 'rake/contrib/rubyforgepublisher' require "./lib/switchtower/version" PKG_NAME = "switchtower" PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : '' PKG_VERSION = SwitchTower::Version::STRING + PKG_BUILD PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}" desc "Default task" task :default => [ :test ] desc "Build documentation" task :doc => [ :rdoc ] Rake::TestTask.new do |t| t.test_files = Dir["test/**/*_test.rb"] t.verbose = true end GEM_SPEC = eval(File.read("#{File.dirname(__FILE__)}/#{PKG_NAME}.gemspec")) Rake::GemPackageTask.new(GEM_SPEC) do |p| p.gem_spec = GEM_SPEC p.need_tar = true p.need_zip = true end desc "Build the RDoc API documentation" Rake::RDocTask.new do |rdoc| rdoc.rdoc_dir = "doc" rdoc.title = "SwitchTower -- A framework for remote command execution" rdoc.options << '--line-numbers --inline-source --main README' rdoc.rdoc_files.include 'README' rdoc.rdoc_files.include 'lib/**/*.rb' rdoc.template = "jamis" end desc "Publish the beta gem" task :pgem => [:package] do Rake::SshFilePublisher.new("davidhh@wrath.rubyonrails.org", "public_html/gems/gems", "pkg", "#{PKG_FILE_NAME}.gem").upload `ssh davidhh@wrath.rubyonrails.org './gemupdate.sh'` end