def define_package_tasks
Gem::PackageTask.new spec do |pkg|
prerelease_version
pkg.need_tar = @need_tar
pkg.need_zip = @need_zip
end
desc 'Install the package as a gem.'
task :install_gem => [:clean, :package, :check_extra_deps] do
install_gem Dir['pkg/*.gem'].first
end
desc 'Package and upload; Requires VERSION=x.y.z (optional PRE=a.1)'
task :release => [:prerelease, :release_to, :postrelease]
task :prerelease do
prerelease_version
abort "Fix your version before you release" if spec.version =~ /borked/
end
task :release_to
task :postrelease
desc "Sanity checks for release"
task :release_sanity do
v = ENV["VERSION"] or abort "Must supply VERSION=x.y.z"
abort "Versions don't match #{v} vs #{version}" if v != version
end
end