9e909d5be3
Update Bundler to 1.0.15. Update Rails to 2.3.12. Update rails_xss plugin. The latter two were the source of a considerable amount of grief, as rails_xss is now MUCH stricter about what string methods can be used. Also made it possible to use rake 0.9.x with Instiki. But you probably REALLY want to use ruby bundle exec rake ... instead of just saying rake ....
98 lines
2.9 KiB
Ruby
98 lines
2.9 KiB
Ruby
require 'rubygems'
|
|
require 'rake'
|
|
require 'rake/testtask'
|
|
require 'rdoc/task'
|
|
require 'rake/packagetask'
|
|
require 'rubygems/package_task'
|
|
require File.join(File.dirname(__FILE__), 'lib', 'action_mailer', 'version')
|
|
|
|
PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
|
|
PKG_NAME = 'actionmailer'
|
|
PKG_VERSION = ActionMailer::VERSION::STRING + PKG_BUILD
|
|
PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
|
|
|
|
RELEASE_NAME = "REL #{PKG_VERSION}"
|
|
|
|
RUBY_FORGE_PROJECT = "actionmailer"
|
|
RUBY_FORGE_USER = "webster132"
|
|
|
|
desc "Default Task"
|
|
task :default => [ :test ]
|
|
|
|
# Run the unit tests
|
|
Rake::TestTask.new { |t|
|
|
t.libs << "test"
|
|
t.pattern = 'test/*_test.rb'
|
|
t.verbose = true
|
|
t.warning = false
|
|
}
|
|
|
|
|
|
# Generate the RDoc documentation
|
|
RDoc::Task.new { |rdoc|
|
|
rdoc.rdoc_dir = 'doc'
|
|
rdoc.title = "Action Mailer -- Easy email delivery and testing"
|
|
rdoc.options << '--line-numbers' << '--inline-source' << '-A cattr_accessor=object'
|
|
rdoc.options << '--charset' << 'utf-8'
|
|
rdoc.template = ENV['template'] ? "#{ENV['template']}.rb" : '../doc/template/horo'
|
|
rdoc.rdoc_files.include('README', 'CHANGELOG')
|
|
rdoc.rdoc_files.include('lib/action_mailer.rb')
|
|
rdoc.rdoc_files.include('lib/action_mailer/*.rb')
|
|
}
|
|
|
|
|
|
# Create compressed packages
|
|
spec = Gem::Specification.new do |s|
|
|
s.platform = Gem::Platform::RUBY
|
|
s.name = PKG_NAME
|
|
s.summary = "Service layer for easy email delivery and testing."
|
|
s.description = %q{Makes it trivial to test and deliver emails sent from a single service layer.}
|
|
s.version = PKG_VERSION
|
|
|
|
s.author = "David Heinemeier Hansson"
|
|
s.email = "david@loudthinking.com"
|
|
s.rubyforge_project = "actionmailer"
|
|
s.homepage = "http://www.rubyonrails.org"
|
|
|
|
s.add_dependency('actionpack', '= 2.3.12' + PKG_BUILD)
|
|
|
|
s.requirements << 'none'
|
|
s.require_path = 'lib'
|
|
|
|
s.files = [ "Rakefile", "install.rb", "README", "CHANGELOG", "MIT-LICENSE" ]
|
|
s.files = s.files + Dir.glob( "lib/**/*" ).delete_if { |item| item.include?( "\.svn" ) }
|
|
s.files = s.files + Dir.glob( "test/**/*" ).delete_if { |item| item.include?( "\.svn" ) }
|
|
end
|
|
|
|
Gem::PackageTask.new(spec) do |p|
|
|
p.gem_spec = spec
|
|
p.need_tar = true
|
|
p.need_zip = true
|
|
end
|
|
|
|
|
|
desc "Publish the API documentation"
|
|
task :pgem => [:package] do
|
|
require 'rake/contrib/sshpublisher'
|
|
Rake::SshFilePublisher.new("gems.rubyonrails.org", "/u/sites/gems/gems", "pkg", "#{PKG_FILE_NAME}.gem").upload
|
|
`ssh gems.rubyonrails.org '/u/sites/gems/gemupdate.sh'`
|
|
end
|
|
|
|
desc "Publish the API documentation"
|
|
task :pdoc => [:rdoc] do
|
|
require 'rake/contrib/sshpublisher'
|
|
Rake::SshDirPublisher.new("wrath.rubyonrails.org", "public_html/am", "doc").upload
|
|
end
|
|
|
|
desc "Publish the release files to RubyForge."
|
|
task :release => [ :package ] do
|
|
require 'rubyforge'
|
|
require 'rake/contrib/rubyforgepublisher'
|
|
|
|
packages = %w( gem tgz zip ).collect{ |ext| "pkg/#{PKG_NAME}-#{PKG_VERSION}.#{ext}" }
|
|
|
|
rubyforge = RubyForge.new
|
|
rubyforge.login
|
|
rubyforge.add_release(PKG_NAME, PKG_NAME, "REL #{PKG_VERSION}", *packages)
|
|
end
|