goptions
Loading...
Searching...
No Matches
version.py
Go to the documentation of this file.
1#!/usr/bin/python3
2
3import subprocess
4from datetime import datetime
5
7 try:
8 # Run the git command to get the latest tag
9 tag = subprocess.check_output(['git', 'describe', '--tags', '--abbrev=0', '--always']).strip().decode('utf-8')
10 # Run another git command to get the date of the tag
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.")
15 return None, None
16
17
18def generate_header_file(version, release_date):
19 header_content = f"""\
20#pragma once
21
22const char* gversion = "{version}";
23const char* grelease_date = "{release_date}";
24const char* greference = "Nucl. Instrum. Meth. A, Volume 959, 163422 (2020)";
25const char* gweb = "https://gemc.github.io/home";
26const char* gauthor = "Maurizio Ungaro, ungaro@jlab.org";
27
28"""
29 with open('gversion.h', 'w') as header_file:
30 header_file.write(header_content)
31
32
33def main():
34 version, release_date = get_git_version()
35 if version and release_date:
36 generate_header_file(version, release_date)
37 print("Version header file 'gversion.h' generated successfully.")
38 else:
39 print("Failed to generate version header file.")
40
41
42if __name__ == "__main__":
43 main()
get_git_version()
Definition version.py:6
main()
Definition version.py:33
generate_header_file(version, release_date)
Definition version.py:18