def define_package_tasks
prerelease_version
Gem::PackageTask.new spec do |pkg|
pkg.need_tar = @need_tar
pkg.need_zip = @need_zip
end
desc "Install the package as a gem. (opt. NOSUDO=1)"
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
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"
pre = ENV["PRERELEASE"] || ENV["PRE"]
v += ".#{pre}" if pre
abort "Versions don't match #{v} vs #{version}" if v != version
end
end