tasks/gem.rake in bones-1.3.2 vs tasks/gem.rake in bones-1.3.3
- old
+ new
@@ -1,6 +1,6 @@
-# $Id$
+# $Id: gem.rake 536 2008-02-18 23:07:49Z tim_pease $
require 'rake/gempackagetask'
namespace :gem do
@@ -10,10 +10,11 @@
s.summary = PROJ.summary
s.authors = Array(PROJ.authors)
s.email = PROJ.email
s.homepage = Array(PROJ.url).first
s.rubyforge_project = PROJ.rubyforge_name
+ s.post_install_message = PROJ.post_install_message
s.description = PROJ.description
PROJ.dependencies.each do |dep|
s.add_dependency(*dep)
@@ -60,12 +61,32 @@
desc 'Show information about the gem'
task :debug do
puts PROJ.spec.to_ruby
end
- Rake::GemPackageTask.new(PROJ.spec) do |pkg|
+ pkg = Rake::PackageTask.new(PROJ.name, PROJ.version) do |pkg|
pkg.need_tar = PROJ.need_tar
pkg.need_zip = PROJ.need_zip
+ pkg.package_files += PROJ.spec.files
+ end
+ Rake::Task['gem:package'].instance_variable_set(:@full_comment, nil)
+
+ gem_file = if PROJ.spec.platform == Gem::Platform::RUBY
+ "#{pkg.package_name}.gem"
+ else
+ "#{pkg.package_name}-#{PROJ.spec.platform}.gem"
+ end
+
+ desc "Build the gem file #{gem_file}"
+ task :package => "#{pkg.package_dir}/#{gem_file}"
+
+ file "#{pkg.package_dir}/#{gem_file}" => [pkg.package_dir] + PROJ.spec.files do
+ when_writing("Creating GEM") {
+ Gem::Builder.new(PROJ.spec).build
+ verbose(true) {
+ mv gem_file, "#{pkg.package_dir}/#{gem_file}"
+ }
+ }
end
desc 'Install the gem'
task :install => [:clobber, :package] do
sh "#{SUDO} #{GEM} install pkg/#{PROJ.spec.full_name}"