# File lib/hoe/package.rb, line 41
  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]

    # no doco, invisible hook
    task :prerelease do
      abort "Fix your version before you release" if spec.version =~ /borked/
    end

    # no doco, invisible hook
    task :release_to

    # no doco, invisible hook
    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