Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import re
- def forge_package_version():
- git_rev = os.popen('git describe --tags').read().strip() # type: str
- groups = re.match(r'^((\d+).(\d+)(.\d+)?)(-(\d+)-([0-9A-Za-z]+))?$', git_rev).groups()
- major = int(groups[1])
- minor = int(groups[2])
- patch = int(groups[3]) if groups[3] is not None else 0
- pre = int(groups[5]) if groups[4] is not None else None
- rev = groups[6] or ''
- sub = ''
- if pre is not None:
- if patch == 0:
- minor += 1
- else:
- patch += 1
- git_branch = os.popen('git branch | grep \*').read().strip() # type: str
- git_branch = git_branch.replace('* ', '')
- if git_branch == 'master': # preview release
- pre_type = 'pr'
- elif git_branch == 'develop': # beta release
- pre_type = 'b'
- else: # alpha release
- pre_type = 'a'
- sub = '%s%s-%s' % (pre_type, pre, rev)
- return '%s.%s.%s%s' % (major, minor, patch, sub)
- print(forge_package_version())
Add Comment
Please, Sign In to add comment