|
| 1 | +#!/usr/bin/env python2.7 |
| 2 | + |
| 3 | +import semver |
| 4 | +import xml.etree.ElementTree as ET |
| 5 | +import sys |
| 6 | + |
| 7 | +ANDROID_STRINGS_XML = "AndroidSDK/res/values/strings.xml" |
| 8 | + |
| 9 | +def get_current_version(root): |
| 10 | + for element in root.iter("string"): |
| 11 | + if element.attrib.get("name") == "sdk_version": |
| 12 | + return element.text |
| 13 | + |
| 14 | +def update_version(root, xml, version): |
| 15 | + for element in root.iter("string"): |
| 16 | + if element.attrib.get("name") == "sdk_version": |
| 17 | + element.text = str(version) |
| 18 | + xml.write(ANDROID_STRINGS_XML, encoding='utf-8', xml_declaration=True) |
| 19 | + |
| 20 | +"""Type: Major/Minor/Patch""" |
| 21 | + |
| 22 | +""" |
| 23 | +1. Read in values.xml |
| 24 | +2. Increment the SDK version value based on correct semVers |
| 25 | +3. Return: new version number |
| 26 | +""" |
| 27 | +def main(): |
| 28 | + release_type = sys.argv[1] |
| 29 | + xml = ET.parse(ANDROID_STRINGS_XML) |
| 30 | + root = xml.getroot() |
| 31 | + |
| 32 | + current_version = get_current_version(root) |
| 33 | + |
| 34 | + if release_type == "patch": |
| 35 | + release_version = semver.bump_patch(current_version) |
| 36 | + elif release_type == "minor": |
| 37 | + release_version = semver.bump_minor(current_version) |
| 38 | + elif release_type == "major": |
| 39 | + release_version = semver.bump_major(current_version) |
| 40 | + else: |
| 41 | + raise Exception("Please pick one patch/minor/major") |
| 42 | + |
| 43 | + update_version(root, xml, release_version) |
| 44 | + sys.stdout.write(release_version) |
| 45 | + |
| 46 | +if __name__ == "__main__": |
| 47 | + main() |
0 commit comments