From 3bc3ee202997bfdae64b370e9760481473f950e2 Mon Sep 17 00:00:00 2001 From: Cristian C Lalescu <Cristian.Lalescu@ds.mpg.de> Date: Mon, 11 Mar 2019 21:44:18 +0100 Subject: [PATCH] add version script --- get_version.py | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 get_version.py diff --git a/get_version.py b/get_version.py new file mode 100644 index 00000000..896763e8 --- /dev/null +++ b/get_version.py @@ -0,0 +1,64 @@ +####################################################################### +# # +# Copyright 2015-2019 Max Planck Institute # +# for Dynamics and Self-Organization # +# # +# This file is part of bfps. # +# # +# bfps is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published # +# by the Free Software Foundation, either version 3 of the License, # +# or (at your option) any later version. # +# # +# bfps is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with bfps. If not, see <http://www.gnu.org/licenses/> # +# # +# Contact: Cristian.Lalescu@ds.mpg.de # +# # +####################################################################### + + + +import datetime +import subprocess + +def main(): + # get current time + now = datetime.datetime.now() + # obtain version + try: + git_branch = subprocess.check_output(['git', + 'rev-parse', + '--abbrev-ref', + 'HEAD']).strip().split()[-1].decode() + git_revision = subprocess.check_output(['git', 'rev-parse', 'HEAD']).strip() + git_date = datetime.datetime.fromtimestamp(int(subprocess.check_output(['git', 'log', '-1', '--format=%ct']).strip())) + except: + git_revision = '' + git_branch = '' + git_date = now + if git_branch == '': + # there's no git available or something + VERSION = '{0:0>4}{1:0>2}{2:0>2}.{3:0>2}{4:0>2}{5:0>2}'.format( + git_date.year, git_date.month, git_date.day, + git_date.hour, git_date.minute, git_date.second) + else: + VERSION = subprocess.check_output(['git', 'describe', '--tags']).strip().decode().split('-')[0] + if (('develop' in git_branch) or + ('feature' in git_branch) or + ('bugfix' in git_branch)): + VERSION_py = subprocess.check_output( + ['git', 'describe', '--tags', '--dirty']).strip().decode().replace('-g', '+g').replace('-dirty', '.dirty').replace('-', '.post') + else: + VERSION_py = VERSION + print(VERSION) + return VERSION_py + +if __name__ == '__main__': + main() + -- GitLab