Project

General

Profile

Download (1.64 KB) Statistics
| Branch: | Tag: | Revision:
b689e231 Marc Dequènes (Duck)
PKG_NAME = 'sortable-list'
PKG_VERSION = 0.02

require 'rake'
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", <<BODY)
A new version of #{PKG_NAME} has been released. Please see
http://#{PKG_NAME}.rubyforge.org for full information. See the SCM
log messages for what has changed.
BODY
end