Sha256: c2a373a1b0956e112db60dd2af894f529662beee3c1084228227063316ccd628

Contents?: true

Size: 1.26 KB

Versions: 1

Compression:

Stored size: 1.26 KB

Contents

# note, there are other, legacy tasks in build_tarball.rake
# thate currently are run by e.g.
#   rake -f build_tarball.rake clean release=RMagick_2-13-1
#   rake -f build_tarball.rake release=RMagick_2-13-1
require './lib/rmagick/version'
require 'fileutils'
desc "build and push gem, tag and push repo"
task "release" do
  sh("git diff --exit-code")
  abort "Git repo not clean" unless $?.success?
  sh("git diff-index --quiet --cached HEAD")
  abort "Git repo not commited" unless $?.success?
  version = Magick::VERSION
  # e.g. 2.13.3 becomes RMagick_2-13-3
  version_tag = "RMagick_#{version.gsub(".","-")}"
  # e.g. 2.13.3 becomes rmagick-2.13.3.gem
  gem_name = "rmagick-#{version}.gem"

  # build gem
  sh "gem build -V rmagick.gemspec"
  if $?.success?
    base = File.expand_path('..', __FILE__)
    FileUtils.mkdir_p(File.join(base, 'pkg'))
    FileUtils.mv(File.join(base, gem_name), 'pkg')
    # push gem
    sh "gem push #{File.join(base, 'pkg', gem_name)}"
    if $?.success?
      sh "git tag -a -m \"Version #{version}\" #{version_tag}"
      STDOUT.puts "Tagged #{version_tag}."
      sh "git push"
      sh "git push --tags"
    else
      abort "tagging abd pushing gem failed"
    end

  else
    STDERR.puts "Could not build gem"
    exit $?.exitstatus
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rmagick-2.13.3 Rakefile