From 42c5b9534aa2d4e20515cf009ca1c5347ea1d453 Mon Sep 17 00:00:00 2001 From: Christian Weeks Date: Thu, 10 May 2012 12:24:17 -0400 Subject: [PATCH] Tweak some build stuff for versioning --- .gitignore | 1 + fmlversion.properties | 7 ------- getversion.py | 45 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 7 deletions(-) delete mode 100644 fmlversion.properties create mode 100644 getversion.py diff --git a/.gitignore b/.gitignore index 87d6db8818..76987d4e26 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ /minecraft_server /mods /fmlbuild.properties +/fmlversion.properties /difflist.txt /.metadata/ /eclipse/.metadata/ diff --git a/fmlversion.properties b/fmlversion.properties deleted file mode 100644 index 77ad4f4478..0000000000 --- a/fmlversion.properties +++ /dev/null @@ -1,7 +0,0 @@ -#Thu, 10 May 2012 09:42:10 -0400 - -fmlbuild.major.number=2 -fmlbuild.minor.number=0 -fmlbuild.revision.number=0 -fmlbuild.build.number=1 -fmlbuild.mcversion=1.2.5 diff --git a/getversion.py b/getversion.py new file mode 100644 index 0000000000..4da6d1e2bc --- /dev/null +++ b/getversion.py @@ -0,0 +1,45 @@ +import sys +import os +import commands +import fnmatch +import re +import subprocess, shlex + +def cmdsplit(args): + if os.sep == '\\': + args = args.replace('\\', '\\\\') + return shlex.split(args) + +def cleanDirs(path): + if not os.path.isdir(path): + return + + files = os.listdir(path) + if len(files): + for f in files: + fullpath = os.path.join(path, f) + if os.path.isdir(fullpath): + cleanDirs(fullpath) + + files = os.listdir(path) + if len(files) == 0: + os.rmdir(path) + +def main(): + print("Obtaining version information from git") + cmd = "git describe --long" + try: + process = subprocess.Popen(cmdsplit(cmd), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, bufsize=-1) + vers, _ = process.communicate() + except OSError: + print("Git not found") + vers="v1.0-0-deadbeef" + (major,minor,rev,githash)=re.match("v(\d+).(\d+)-(\d+)-(.*)",vers).groups() + with open("fmlversion.properties","w") as f: + f.write("%s=%s\n" %("fmlbuild.major.number",major)) + f.write("%s=%s\n" %("fmlbuild.minor.number",minor)) + f.write("%s=%s\n" %("fmlbuild.revision.number",rev)) + f.write("%s=%s\n" %("fmlbuild.githash",githash)) + +if __name__ == '__main__': + main()