Track version info, and make available for logging.
This commit is contained in:
2 changed files with 43 additions and 10 deletions
39
setup.py
39
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']:
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.