4 from datetime
import datetime
9 tag = subprocess.check_output([
'git',
'describe',
'--tags',
'--abbrev=0',
'--always']).strip().decode(
'utf-8')
11 date = subprocess.check_output([
'git',
'log',
'-1',
'--format=%ai', tag]).strip().decode(
'utf-8')
12 return tag, datetime.strptime(date,
'%Y-%m-%d %H:%M:%S %z').strftime(
'%Y-%m-%d')
13 except subprocess.CalledProcessError:
14 print(
"Error: Unable to get git version.")
19 header_content = f
"""\
23 const char* gversion = "{version}";
24 const char* grelease_date = "{release_date}";
25 const char* greference = "Nucl. Instrum. Meth. A, Volume 959, 163422 (2020)";
26 const char* gweb = "https://gemc.github.io/home/";
27 const char* gauthor = "Maurizio Ungaro, ungaro@jlab.org";
31 with open(
'gversion.h',
'w')
as header_file:
32 header_file.write(header_content)
37 if version
and release_date:
39 print(
"Version header file 'gversion.h' generated successfully.")
41 print(
"Failed to generate version header file.")
44 if __name__ ==
"__main__":
def generate_header_file(version, release_date)