#!/usr/bin/env rake require "bundler/gem_tasks" PKG_NAME = 'authentication' PKG_VERSION = 0.02 require 'rake/testtask' require 'rake/rdoctask' require 'rake/packagetask' desc 'Default: run unit tests.' task :default => :test desc "Test the #{PKG_NAME} plugin." Rake::TestTask.new(:test) do |t| t.libs << 'lib' t.pattern = 'test/**/*_test.rb' t.verbose = true end desc "Generate documentation for the #{PKG_NAME} plugin" Rake::RDocTask.new(:rdoc) do |rdoc| rdoc.rdoc_dir = 'html' rdoc.title = PKG_NAME rdoc.options << '--line-numbers' << '--inline-source' rdoc.rdoc_files.include('README') rdoc.rdoc_files.include('lib/**/*.rb') end Rake::PackageTask.new(PKG_NAME, PKG_VERSION) do |pkg| pkg.need_tar_gz = true pkg.package_files.include('{lib,test}/**/*') pkg.package_files.include('README') pkg.package_files.include('MIT-LICENSE') pkg.package_files.include('Rakefile') end desc 'Tag release' task :tag do svn_root = "svn+ssh://rubyforge.org/var/svn/#{PKG_NAME}" sh %(svn cp #{svn_root}/trunk #{svn_root}/tags/rel-#{PKG_VERSION} -m "Tag #{PKG_NAME} release #{PKG_VERSION}") end desc 'Push a release to rubyforge' task :release => [:package, :tag, :rdoc] do sh %{scp -rq html/* rubyforge.org:/var/www/gforge-projects/#{PKG_NAME}} require 'rubyforge' rubyforge = RubyForge.new rubyforge.login package = [PKG_NAME, PKG_VERSION] * '-' rubyforge.add_release(PKG_NAME, PKG_NAME, PKG_VERSION, "pkg/#{package}.tar.gz") rubyforge.post_news(PKG_NAME, "#{PKG_NAME} #{PKG_VERSION} Released", <