Sha256: 235a89e5b16475c5c62f108985bf1224fa645364f42950fa4a4bc1cd09f3208a

Contents?: true

Size: 1.44 KB

Versions: 2

Compression:

Stored size: 1.44 KB

Contents

# encoding: utf-8

require "nake/tasks/gem"

# require "nake/tasks/release"
# Task[:release].config[:version] = Nake::VERSION
task(:release, "release:tag", "release:gemcutter").tap do |task|
  task.description = "Release current version version"
  task.define do
    puts "Version #{version} was successfuly published. Don't forget to increase VERSION constant!"
  end
end

task(:prerelease).tap do |task|
  task.description = "Update prerelease version"
  task.define do
    Task[:release].config[:version] = "#{Task[:release].config[:version]}.pre"
    Task[:build].config[:gemspec] = Task[:build].config[:gemspec].sub(/\.gemspec/, ".pre.gemspec")
    Task["release:gemcutter"].call
  end
end

Task.new("release:tag") do |task|
  task.description = "Create Git tag"
  task.define do
    version = Task[:release].config[:version]
    raise ConfigurationError, "You have to provide Task[:release].config[:version]!" if version.nil?
    puts "Creating new git tag #{version} and pushing it online ..."
    sh "git tag -a -m 'Version #{version}' #{version}"
    sh "git push --tags"
    puts "Tag #{version} was created and pushed to GitHub."
  end
end

Task.new("release:gemcutter") do |task|
  task.description  = "Push gem to Gemcutter"
  task.dependencies = [:clean, :build]
  task.define do
    task.config[:gem] = "#{Task[:release].config[:name]}-#{Task[:release].config[:version]}.gem"
    puts "Pushing to Gemcutter ..."
    sh "gem push #{task.config[:gem]}"
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nake-0.0.2 lib/nake/tasks/release.rb
nake-0.0.2.pre lib/nake/tasks/release.rb