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
"""\
22 const char* gversion = "{version}";
23 const char* grelease_date = "{release_date}";
24 const char* greference = "Nucl. Instrum. Meth. A, Volume 959, 163422 (2020)";
25 const char* gweb = "https://gemc.github.io/home";
26 const char* gauthor = "Maurizio Ungaro, ungaro@jlab.org";
29 with open(
'gversion.h',
'w')
as header_file:
30 header_file.write(header_content)
35 if version
and release_date:
37 print(
"Version header file 'gversion.h' generated successfully.")
39 print(
"Failed to generate version header file.")
42 if __name__ ==
"__main__":
def generate_header_file(version, release_date)