blob: fbe2df93f7c77c6db4c2616a7160ec590c92d5ef [file] [log] [blame]
#!/usr/bin/env python3
import sys, os, subprocess
def generate(infile, outfile, fallback):
workdir = os.path.split(infile)[0]
if workdir == '':
workdir = '.'
try:
version = subprocess.check_output(['git', 'describe'], cwd=workdir).decode().strip()
except (subprocess.CalledProcessError, OSError, UnicodeDecodeError):
version = fallback
with open(infile) as f:
newdata = f.read().replace('@VERSION@', version)
try:
with open(outfile) as f:
olddata = f.read()
if olddata == newdata:
return
except OSError:
pass
with open(outfile, 'w') as f:
f.write(newdata)
if __name__ == '__main__':
infile = sys.argv[1]
outfile = sys.argv[2]
fallback = sys.argv[3]
generate(infile, outfile, fallback)