X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/df507d6cdebca220ac19dbbc5c16d18498cb852c..7d804c0b62975b4059dea757dbc2fbd0320c1497:/sdk/python/gittaggers.py diff --git a/sdk/python/gittaggers.py b/sdk/python/gittaggers.py index 9223443813..f3278fcc1d 100644 --- a/sdk/python/gittaggers.py +++ b/sdk/python/gittaggers.py @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 + from setuptools.command.egg_info import egg_info import subprocess import time @@ -8,6 +12,11 @@ class EggInfoFromGit(egg_info): If a build tag has already been set (e.g., "egg_info -b", building from source package), leave it alone. """ + def git_latest_tag(self): + gittags = subprocess.check_output(['git', 'tag', '-l']).split() + gittags.sort(key=lambda s: [int(u) for u in s.split(b'.')],reverse=True) + return str(next(iter(gittags)).decode('utf-8')) + def git_timestamp_tag(self): gitinfo = subprocess.check_output( ['git', 'log', '--first-parent', '--max-count=1', @@ -16,5 +25,5 @@ class EggInfoFromGit(egg_info): def tags(self): if self.tag_build is None: - self.tag_build = self.git_timestamp_tag() + self.tag_build = self.git_latest_tag()+self.git_timestamp_tag() return egg_info.tags(self)