require 'rubygems' require 'hoe' def announce(msg='') STDERR.puts msg end PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : '' PKG_NAME = 'mechanize' PKG_VERSION = '0.6.4' + PKG_BUILD Hoe.new(PKG_NAME, PKG_VERSION) do |p| p.rubyforge_name = PKG_NAME p.author = 'Aaron Patterson' p.email = 'aaronp@rubyforge.org' p.summary = "Mechanize provides automated web-browsing" p.description = p.paragraphs_of('README.txt', 3).join("\n\n") p.url = p.paragraphs_of('README.txt', 1).first.strip p.changes = p.paragraphs_of('CHANGELOG.txt', 0..2).join("\n\n") files = (p.test_globs + ['test/**/tc_*.rb', "test/htdocs/**/*.{html,jpg}", 'test/data/server.*']).map { |x| Dir.glob(x) }.flatten + ['test/data/htpasswd'] p.extra_deps = ['hpricot'] p.spec_extras = { :test_files => files } end task :update_version do announce "Updating Mechanize Version to #{PKG_VERSION}" File.open("lib/mechanize/mech_version.rb", "w") do |f| f.puts "module WWW" f.puts " class Mechanize" f.puts " Version = '#{PKG_VERSION}'" f.puts " end" f.puts "end" end sh 'svn commit -m"updating version" lib/mechanize/mech_version.rb' end desc "Tag code" Rake::Task.define_task("tag") do |p| baseurl = "svn+ssh://#{ENV['USER']}@rubyforge.org/var/svn/#{PKG_NAME}" sh "svn cp -m 'tagged #{ PKG_VERSION }' . #{ baseurl }/tags/REL-#{ PKG_VERSION }" end desc "Branch code" Rake::Task.define_task("branch") do |p| baseurl = "svn+ssh://#{ENV['USER']}@rubyforge.org/var/svn/#{PKG_NAME}" sh "svn cp -m 'branched #{ PKG_VERSION }' #{baseurl}/trunk #{ baseurl }/branches/RB-#{ PKG_VERSION }" end desc "Update SSL Certificate" Rake::Task.define_task('ssl_cert') do |p| sh "openssl genrsa -des3 -out server.key 1024" sh "openssl req -new -key server.key -out server.csr" sh "cp server.key server.key.org" sh "openssl rsa -in server.key.org -out server.key" sh "openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt" sh "cp server.key server.pem" sh "mv server.key server.csr server.crt server.pem test/data/" sh "rm server.key.org" end