mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-25 23:51:07 +00:00
39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
#! /usr/bin/python
|
|
|
|
"""Determine the version number of the current tree.
|
|
|
|
This should be run *after* make-version.py . It will emit a single line of
|
|
text to stdout, either of the form '0.2.0' if this is a release tree (i.e. no
|
|
patches have been added since the last release tag), or '0.2.0-34' (if 34
|
|
patches have been added since the last release tag). If the tree does not
|
|
have a well-formed version number, this will emit 'unknown'.
|
|
|
|
The version string thus calculated should exactly match the version string
|
|
determined by setup.py (when it creates eggs and source tarballs) and also
|
|
the version available in the code image when you do:
|
|
|
|
from allmydata import __version__
|
|
|
|
"""
|
|
|
|
import os.path, re
|
|
|
|
def get_version():
|
|
VERSIONFILE = "src/allmydata/_version.py"
|
|
verstr = "unknown"
|
|
if os.path.exists(VERSIONFILE):
|
|
VSRE = re.compile("^verstr = ['\"]([^'\"]*)['\"]", re.M)
|
|
verstrline = open(VERSIONFILE, "rt").read()
|
|
mo = VSRE.search(verstrline)
|
|
if mo:
|
|
verstr = mo.group(1)
|
|
else:
|
|
raise RuntimeError("if version.py exists, it must be well-formed")
|
|
|
|
return verstr
|
|
|
|
if __name__ == '__main__':
|
|
verstr = get_version()
|
|
print verstr
|
|
|