Commit f21e9d69 authored by Victor Yacovlev's avatar Victor Yacovlev

Script to get bundle name from Git

parent 98538f15
import re
import subprocess
import os
import os.path
import sys
def get_version_information(top_level_dir):
assert isinstance(top_level_dir, str) or isinstance(top_level_dir, unicode)
if os.path.exists(top_level_dir + os.path.sep + ".git"):
try:
version_info = subprocess.check_output(
"git describe --abbrev=0 --tags --exact-match",
shell=True,
stderr=subprocess.PIPE
).strip()
except subprocess.CalledProcessError:
version_info = subprocess.check_output(
"git rev-parse --abbrev-ref HEAD",
shell=True
).strip()
version_info += "-" + subprocess.check_output(
"git --no-pager log -1 --pretty=format:%H",
shell=True
).strip()
else:
dir_name = os.path.basename(top_level_dir)
match = re.match(r"kumir2-(.+)", dir_name)
version_info = match.group(1)
return version_info
def main():
version_name = get_version_information(os.getcwd())
prefix = ""
suffix = ""
nl = ""
outfile = sys.stdout
for arg in sys.argv:
if arg.startswith("--prefix="):
prefix = arg[9:]
elif arg.startswith("--suffix="):
suffix = arg[9:]
elif arg.startswith("--out="):
outfile = open(arg[6:], 'w')
elif "--nl" == arg:
if os.name.startswith("nt"):
nl = "\r\n"
else:
nl = "\n"
output = prefix + version_name + suffix + nl
outfile.write(output)
outfile.close()
if __name__ == "__main__":
main()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment