Sha256: 36d716ba85cd149a7aa37450c0ee574d1278502168cdfa6febcc97bd5b5cd679

Contents?: true

Size: 1.29 KB

Versions: 22

Compression:

Stored size: 1.29 KB

Contents

require 'active_support/time'
require 'active_support/core_ext'

namespace :gem do
  desc "Bump gem version, push to RubyGems, push to Github, add release notes"
  task :release, [:version] do |_, args|
    version = args[:version] || 'rc'
    old_version = gem_version

    sh! "gem bump --version #{version} --no-commit"

    print "About to bump version to #{gem_version}, continue? (Y): "
    answer = STDIN.gets.strip
    exit unless answer.length == 0 || answer.upcase.start_with?("Y")

    sh! "git add lib/cfoundry/version.rb"

    print_with_purpose "Bumping to version #{gem_version}"
    generate_release_notes(old_version)
    sh!("git commit -m 'Bumping to version #{gem_version}.'")
    sh!("git push")
    sh!("gem release --tag")
  end

  private
  def generate_release_notes(old_version)
    print_with_purpose "Generating release notes..."
    file_name = "release_#{gem_version}"
    sh!("anchorman notes --name=#{file_name} --from=v#{old_version}")
    sh!("git add release_notes")
  end

  def sh!(cmd)
    `#{cmd}`
    raise "borked with #{$?}" unless $?.success?
  end

  def print_with_purpose(text)
    puts "\033[34m#{text}\033[0m"
  end

  def gem_version
    silence_warnings do
      load "lib/cfoundry/version.rb"
    end
    Gem::Specification.load("cfoundry.gemspec").version.to_s
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
cfoundry-4.7.2.rc1 lib/tasks/gem_release.rake
cfoundry-4.7.1 lib/tasks/gem_release.rake
cfoundry-4.7.1.rc1 lib/tasks/gem_release.rake
cfoundry-4.7.0 lib/tasks/gem_release.rake
cfoundry-4.6.3.rc3 lib/tasks/gem_release.rake
cfoundry-4.6.3.rc2 lib/tasks/gem_release.rake
cfoundry-4.6.3.rc1 lib/tasks/gem_release.rake
cfoundry-4.6.2 lib/tasks/gem_release.rake
cfoundry-4.6.1 lib/tasks/gem_release.rake
cfoundry-4.6.0 lib/tasks/gem_release.rake
cfoundry-4.5.3 lib/tasks/gem_release.rake
cfoundry-4.5.2 lib/tasks/gem_release.rake
cfoundry-4.5.1 lib/tasks/gem_release.rake
cfoundry-4.5.0 lib/tasks/gem_release.rake
cfoundry-4.3.12 lib/tasks/gem_release.rake
cfoundry-4.3.11 lib/tasks/gem_release.rake
cfoundry-4.3.10 lib/tasks/gem_release.rake
cfoundry-4.3.9 lib/tasks/gem_release.rake
cfoundry-4.3.8 lib/tasks/gem_release.rake
cfoundry-4.3.7 lib/tasks/gem_release.rake