summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorTodd Willey <todd@ansolabs.com>2011-01-06 15:08:26 -0500
committerTodd Willey <todd@ansolabs.com>2011-01-06 15:08:26 -0500
commit13b1374897c59c6e59fe5542ab71b0180aa6fc00 (patch)
tree50e2eb4a82f31304cde18436663b8dbb931f4791 /setup.py
parentada65e007e4511f63efcbfa94e51d2d41af1d315 (diff)
downloadnova-13b1374897c59c6e59fe5542ab71b0180aa6fc00.tar.gz
Track version info, and make available for logging.
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/setup.py b/setup.py
index e009110998..6d7cecb70f 100644
--- a/setup.py
+++ b/setup.py
@@ -25,6 +25,45 @@ from sphinx.setup_command import BuildDoc
from nova.utils import parse_mailmap, str_dict_replace
+NOVA_VERSION = ['2011', '1']
+
+VERSIONFILE_DEFAULT_VCS_VERSION = """
+version_info = {"branch_nick": "LOCALBRANCH", "revision_id": "LOCALREVISION"}
+"""
+
+VERSIONFILE_DATA = """
+# below this line automatically generated by setup.py
+
+YEAR = %r
+COUNT = %r
+""" % (NOVA_VERSION[0], NOVA_VERSION[1])
+
+
+VERSIONFILE_DATA += """
+
+def string():
+ return '.'.join([YEAR, COUNT])
+
+
+def vcs_version_string():
+ return "%s:%s" % (version_info['branch_nick'], version_info['revision_id'])
+
+
+def string_with_vcs():
+ return "%s-%s" % (string(), vcs_version_string())
+"""
+
+with open("nova/version.py", 'w') as version_file:
+ if os.path.isdir('.bzr'):
+ vcs_cmd = subprocess.Popen(["bzr", "version-info", "--python"],
+ stdout=subprocess.PIPE)
+ vcsversion = vcs_cmd.communicate()[0]
+ version_file.write(vcsversion)
+ else:
+ version_file.write(VERSIONFILE_DEFAULT_VCS_VERSION)
+ version_file.write(VERSIONFILE_DATA)
+
+
class local_BuildDoc(BuildDoc):
def run(self):
for builder in ['html', 'man']: