module RJack::TarPit::GitTaskDefiner

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/rjack-tarpit/git.rb, line 21
def initialize
  super

  add_define_hook( :define_git_tasks )
end

Public Instance Methods

define_git_tasks() click to toggle source

Define git based :tag task

# File lib/rjack-tarpit/git.rb, line 28
def define_git_tasks
  desc "git tag current version"
  task :tag do
    tag = [ spec.name, spec.version ].join( '-' )
    dname = Rake.original_dir
    dname = '.' if Dir.getwd == dname
    delta = %x`git status --porcelain -- #{dname} 2>&1`.split(/^/)
    if delta.length > 0
      puts delta
      raise "Commit these changes before tagging"
    end
    sh %Q{git tag -s -f -m "tag [#{tag}]" "#{tag}"}
  end
end