aboutsummaryrefslogtreecommitdiff
path: root/wa/framework/version.py
diff options
context:
space:
mode:
authorSergei Trofimov <sergei.trofimov@arm.com>2018-05-09 15:29:52 +0100
committerMarc Bonnici <marc.bonnici@arm.com>2018-05-09 16:44:27 +0100
commit2dbb6e8c18657ec60e53cb2ceba8857ab43d3169 (patch)
tree762779493e56a44188f08659f17f5ed1b8b3d56f /wa/framework/version.py
parent79c15ff02f771d468dab69cba0b1cb24add409cc (diff)
fw/version: add get_wa_version_with_commit
Add a function to return WA version suffixed with the commit hash for current HEAD. This only works if WA was deployed via python setup.py develop otherwise, the output is identical to get_wa_version().
Diffstat (limited to 'wa/framework/version.py')
-rw-r--r--wa/framework/version.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/wa/framework/version.py b/wa/framework/version.py
index 66543332..1ccbf3ba 100644
--- a/wa/framework/version.py
+++ b/wa/framework/version.py
@@ -13,7 +13,9 @@
# limitations under the License.
#
+import os
from collections import namedtuple
+from subprocess import Popen, PIPE
VersionTuple = namedtuple('Version', ['major', 'minor', 'revision'])
@@ -25,3 +27,22 @@ def get_wa_version():
version_string = '{}.{}.{}'.format(
version.major, version.minor, version.revision)
return version_string
+
+
+def get_wa_version_with_commit():
+ version_string = get_wa_version()
+ commit = get_commit()
+ if commit:
+ return '{}-{}'.format(version_string, commit)
+ else:
+ return version_string
+
+
+def get_commit():
+ p = Popen(['git', 'rev-parse', 'HEAD'],
+ cwd=os.path.dirname(__file__), stdout=PIPE)
+ std, _ = p.communicate()
+ p.wait()
+ if p.returncode:
+ return None
+ return std[:8]