From ab067831e707b191d6dfdcd01de1f1d85fc90d05 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 18 Oct 2013 10:28:18 +0000 Subject: initial commit --- GIT-VERSION-GEN | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 GIT-VERSION-GEN (limited to 'GIT-VERSION-GEN') diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN new file mode 100755 index 0000000..458b1c2 --- /dev/null +++ b/GIT-VERSION-GEN @@ -0,0 +1,41 @@ +#!/usr/bin/env ruby +# Copyright (C) 2013, Eric Wong and all contributors +# License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt) +CONSTANT = "Yahns::VERSION" +RVF = "lib/yahns/version.rb" +GVF = "GIT-VERSION-FILE" +DEF_VER = "v0.0.0" +vn = DEF_VER + +# First see if there is a version file (included in release tarballs), +# then try git-describe, then default. +if File.exist?(".git") + describe = `git describe --abbrev=4 HEAD 2>/dev/null`.strip + case describe + when /\Av[0-9]*/ + vn = describe + system(*%w(git update-index -q --refresh)) + unless `git diff-index --name-only HEAD --`.chomp.empty? + vn << "-dirty" + end + vn.tr!('-', '.') + end +end + +vn = vn.sub!(/\Av/, "") +new_ruby_version = "#{CONSTANT} = '#{vn}' # :nodoc:\n" +cur_ruby_version = File.read(RVF) rescue nil +if new_ruby_version != cur_ruby_version + File.open(RVF, "w") { |fp| fp.write(new_ruby_version) } +end +File.chmod(0644, RVF) + +# generate the makefile snippet +new_make_version = "VERSION = #{vn}\n" +cur_make_version = File.read(GVF) rescue nil +if new_make_version != cur_make_version + File.open(GVF, "w") { |fp| fp.write(new_make_version) } +end +File.chmod(0644, GVF) + +puts vn if $0 == __FILE__ -- cgit v1.2.3-24-ge0c7