require 'rubygems'
require 'rake'
require 'rake/clean'
require 'rake/packagetask'
require 'rake/gempackagetask'
require 'rake/testtask'
#require 'rake/rdoctask'
#require 'hanna/rdoctask'
gemspec = File.read('rufus-rtm.gemspec')
eval "gemspec = #{gemspec}"
#
# tasks
CLEAN.include('pkg', 'html')
task :default => [ :clean, :repackage ]
#
# TESTING
Rake::TestTask.new(:test) do |t|
t.libs << 'test'
t.test_files = FileList['test/test.rb']
t.verbose = true
end
#
# VERSION
task :change_version do
version = ARGV.pop
`sedip "s/VERSION = '.*'/VERSION = '#{version}'/" lib/rufus/rtm/base.rb`
`sedip "s/s.version = '.*'/s.version = '#{version}'/" rufus-rtm.gemspec`
exit 0 # prevent rake from triggering other tasks
end
#
# PACKAGING
Rake::GemPackageTask.new(gemspec) do |pkg|
#pkg.need_tar = true
end
Rake::PackageTask.new('rufus-rtm', gemspec.version) do |pkg|
pkg.need_zip = true
pkg.package_files = FileList[
'Rakefile',
'*.txt',
'lib/**/*',
'test/**/*'
].to_a
#pkg.package_files.delete("MISC.txt")
class << pkg
def package_name
"#{@name}-#{@version}-src"
end
end
end
#
# DOCUMENTATION
task :rdoc do
sh %{
rm -fR rdoc
yardoc 'lib/**/*.rb' \
-o html/rufus-rtm \
--title 'rufus-rtm'
}
end
#
# WEBSITE
task :upload_website => [ :clean, :rdoc ] do
account = 'jmettraux@rubyforge.org'
webdir = '/var/www/gforge-projects/rufus'
sh "rsync -azv -e ssh html/rufus-rtm #{account}:#{webdir}/"
end