summaryrefslogtreecommitdiffstats
path: root/ruby-gem/tasks/git.rake
blob: b219923f166eb5e0163dd93b7b923b4411bb92e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# -*- coding: UTF-8 -*-
#
if HAVE_GIT

namespace :git do

    # A prerequisites task that all other tasks depend upon
    task :prereqs

    desc 'Show tags from the Git repository'
    task :show_tags => 'git:prereqs' do |t|
        puts %x/git tag/
    end

    desc 'Create a new tag in the Git repository'
    task :create_tag => 'git:prereqs' do |t|
        v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z'
        abort "Versions don't match #{v} vs #{PROJ.version}" if v != PROJ.version
        tag = "%s" % [ PROJ.version ]
        msg = "Creating tag for #{PROJ.name} version #{PROJ.version}"
        puts "Creating Git tag '#{tag}'"
        unless system "git tag -a -m '#{msg}' #{tag}"
            abort "Tag creation failed"
        end
#        if %x/git remote/ =~ %r/^origin\s*$/
#            unless system "git push origin #{tag}"
#                abort "Could not push tag to remote Git repository"
#            end
#        end
    end

end  # namespace :git

#task 'gem:release' => 'git:create_tag'

end  # if HAVE_GIT

# EOF