Changeset efc4f09 in rtems-tools for rtemstoolkit/version.py
- Timestamp:
- 12/09/15 09:08:19 (8 years ago)
- Branches:
- 4.10, 5, master
- Children:
- 8b49f73
- Parents:
- c9fa179
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
rtemstoolkit/version.py
rc9fa179 refc4f09 1 1 # 2 2 # RTEMS Tools Project (http://www.rtems.org/) 3 # Copyright 2010-201 4Chris Johns (chrisj@rtems.org)3 # Copyright 2010-2015 Chris Johns (chrisj@rtems.org) 4 4 # All rights reserved. 5 5 # … … 30 30 31 31 # 32 # Manage paths locally. The internally the path is in Unix or shell format and 33 # we convert to the native format when performing operations at the Python 34 # level. This allows macro expansion to work. 32 # To release RTEMS Tools create a git archive and then add a suitable VERSION 33 # file to the top directory. 35 34 # 36 35 37 major = 0 38 minor = 0 39 revision = 0 36 import sys 37 38 import error 39 import git 40 import path 41 42 # 43 # Default to an internal string. 44 # 45 _version_str = '4.12.not_release' 46 _released = False 47 _git = False 48 49 def _at(): 50 return path.dirname(__file__) 51 52 def _load_released_version(): 53 global _released 54 global _version_str 55 at = _at() 56 for ver in [at, path.join(at, '..')]: 57 if path.exists(path.join(ver, 'VERSION')): 58 try: 59 with open(path.join(ver, 'VERSION')) as v: 60 _version_str = v.readline().strip() 61 v.close() 62 _released = True 63 except: 64 raise error.general('Cannot access the VERSION file') 65 return _released 66 67 def _load_git_version(): 68 global _git 69 global _version_str 70 repo = git.repo(_at()) 71 if repo.valid(): 72 head = repo.head() 73 if repo.dirty(): 74 modified = ' modified' 75 else: 76 modified = '' 77 _version_str = '%s (%s%s)' % (_version_str, head[0:12], modified) 78 _git = True 79 return _git 80 81 def released(): 82 return _load_released_version() 83 84 def version_control(): 85 return _load_git_version() 40 86 41 87 def str(): 42 return '%d.%d.%d'% (major, minor, revision) 88 if not _released and not _git: 89 if not _load_released_version(): 90 _load_git_version() 91 return _version_str 43 92 44 93 if __name__ == '__main__': 45 print('major = %d' % (major)) 46 print('minor = %d' % (minor)) 47 print('revision = %d' % (revision)) 48 print('Version: %s' % (str())) 94 print 'Version: %s' % (str())
Note: See TracChangeset
for help on using the changeset viewer.