From 5b69bdcf19fb25bdc21cc4ef86aa8a988b5718a0 Mon Sep 17 00:00:00 2001 From: evanweaver Date: Sat, 15 Dec 2007 08:19:19 +0000 Subject: rakefile fixes for cross-packaging and java testing in 1-1-2 git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/branches/stable_1-1@912 19e92222-5c0b-0410-8929-a290d50e31e9 --- Rakefile | 56 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) (limited to 'Rakefile') diff --git a/Rakefile b/Rakefile index a25c230..def399b 100644 --- a/Rakefile +++ b/Rakefile @@ -1,6 +1,6 @@ require 'rubygems' -gem 'echoe', '>=2.7' +gem 'echoe', '>=2.7.5' require 'echoe' e = Echoe.new("mongrel") do |p| @@ -10,30 +10,30 @@ e = Echoe.new("mongrel") do |p| p.rdoc_pattern = ['README', 'LICENSE', 'CHANGELOG', 'COPYING', 'lib/**/*.rb', 'doc/**/*.rdoc'] p.ignore_pattern = /^(pkg|site|projects|doc|log)|CVS|\.log/ p.ruby_version = '>= 1.8.4' - p.dependencies = ['gem_plugin >=0.2.3'] - (p.rdoc_template = `allison --path`.chomp) rescue nil - + p.dependencies = ['gem_plugin >=0.2.3'] + p.extension_pattern = nil + p.certificate_chain = ['~/p/configuration/gem_certificates/mongrel/mongrel-public_cert.pem', + '~/p/configuration/gem_certificates/evan_weaver-mongrel-public_cert.pem'] + p.need_tar_gz = false p.need_tgz = true - # case RUBY_PLATFORM - # when /mswin/ - # p.certificate_chain = ['~/gem_certificates/mongrel-public_cert.pem', - # '~/gem_certificates/luislavena-mongrel-public_cert.pem'] - # else - p.certificate_chain = ['~/p/configuration/gem_certificates/mongrel/mongrel-public_cert.pem', - '~/p/configuration/gem_certificates/evan_weaver-mongrel-public_cert.pem'] - # end + case RUBY_PLATFORM + when /mswin/ + # p.certificate_chain = ['~/gem_certificates/mongrel-public_cert.pem', + # '~/gem_certificates/luislavena-mongrel-public_cert.pem'] + when /java/ + else + p.extension_pattern = ["ext/**/extconf.rb"] + end p.eval = proc do case RUBY_PLATFORM when /mswin/ - extensions.clear self.files += ['lib/http11.so'] self.platform = Gem::Platform::WIN32 add_dependency('cgi_multipart_eof_fix', '>= 2.4') when /java/ - extensions.clear self.files += ['lib/http11.jar'] self.platform = 'jruby' else @@ -63,16 +63,7 @@ task :ragel do end end -#### XXX Hack around JRuby test/unit interaction problems - -desc "Run each test suite in isolation on JRuby" -task :test_java do - e.test_pattern.each do |f| - sh "/opt/local/jruby/bin/jruby -w -Ilib:ext:bin:test -e 'require \"#{f}\"'" rescue nil - end -end - -#### XXX Hack around RubyGems and Echoe for pre-compiled extensions. +#### Pre-compiled extensions for alternative platforms def move_extensions Dir["ext/**/*.#{Config::CONFIG['DLEXT']}"].each { |file| mv file, "lib/" } @@ -103,6 +94,14 @@ when /mswin/ task :compile => [filename] when /java/ + + # Avoid JRuby in-process launching problem + begin + require 'jruby' + JRuby.runtime.instance_config.run_ruby_in_process = false + rescue LoadError + end + filename = "lib/http11.jar" file filename do build_dir = "ext/http11_java/classes" @@ -138,8 +137,11 @@ task :package_all => [:package] do sub_project("mongrel_console", :package) sub_project("mongrel_cluster", :package) sub_project("mongrel_experimental", :package) - sub_project("mongrel_service", :package) if RUBY_PLATFORM =~ /mswin/ + sh("rake java package") unless RUBY_PLATFORM =~ /java/ + + # XXX Broken by RubyGems 0.9.5 + # sub_project("mongrel_service", :package) if RUBY_PLATFORM =~ /mswin/ # sh("rake mswin package") unless RUBY_PLATFORM =~ /mswin/ end @@ -200,9 +202,6 @@ namespace :site do FileList["**/*.gem"].each { |gem| mv gem, "pkg/gems" } FileList["**/*.tgz"].each {|tgz| mv tgz, "pkg/tars" } - # XXX Hack, because only Luis can package for Win32 right now - sh "cp ~/Downloads/mongrel-#{e.version}-mswin32.gem pkg/gems/" - sh "cp ~/Downloads/mongrel_service-0.3.3-mswin32.gem pkg/gems/" sh "rm -rf pkg/mongrel*" sh "gem generate_index -d pkg" sh "scp -r CHANGELOG pkg/* rubyforge.org:/var/www/gforge-projects/mongrel/releases/" @@ -215,6 +214,7 @@ namespace :site do task :web do # Requires the 'webgem' gem sh "cd site; webgen; webgen; curl 'http://feed43.com/mongrel.xml' > output/rss.xml; rsync -azv --no-perms --no-times output/* rubyforge.org:/var/www/gforge-projects/mongrel/" + puts "\nMake sure to re-run the site update 6 hours later if you updated the news. This delay is required for Feed43 to pick up the site changes." end desc "Upload the rdocs" -- cgit v1.2.3-24-ge0c7