Guest User

Untitled

a guest
Oct 17th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. import os
  2.  
  3. import re
  4.  
  5.  
  6. def forge_package_version():
  7. git_rev = os.popen('git describe --tags').read().strip() # type: str
  8.  
  9. groups = re.match(r'^((\d+).(\d+)(.\d+)?)(-(\d+)-([0-9A-Za-z]+))?$', git_rev).groups()
  10. major = int(groups[1])
  11. minor = int(groups[2])
  12. patch = int(groups[3]) if groups[3] is not None else 0
  13. pre = int(groups[5]) if groups[4] is not None else None
  14. rev = groups[6] or ''
  15. sub = ''
  16.  
  17. if pre is not None:
  18. if patch == 0:
  19. minor += 1
  20. else:
  21. patch += 1
  22. git_branch = os.popen('git branch | grep \*').read().strip() # type: str
  23. git_branch = git_branch.replace('* ', '')
  24.  
  25. if git_branch == 'master': # preview release
  26. pre_type = 'pr'
  27. elif git_branch == 'develop': # beta release
  28. pre_type = 'b'
  29. else: # alpha release
  30. pre_type = 'a'
  31. sub = '%s%s-%s' % (pre_type, pre, rev)
  32.  
  33. return '%s.%s.%s%s' % (major, minor, patch, sub)
  34.  
  35.  
  36. print(forge_package_version())
Add Comment
Please, Sign In to add comment