Skip to content

Instantly share code, notes, and snippets.

@osvalr
Forked from IliaEremin/app_version.gradle
Created October 25, 2019 11:17

Revisions

  1. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 4 additions and 5 deletions.
    9 changes: 4 additions & 5 deletions app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,4 @@
    def getVersionName = { getVersionProps()['versionName'] }
    def getVersionFile = { file('gradle.properties') }
    def getVersionName = { getVersionProps()['appVersionName'] }

    def getVersionProps() {
    def versionPropsFile = file('gradle.properties')
    @@ -28,16 +27,16 @@ private void commitAndSetTag(versionName) {
    createTag.waitForProcessOutput(System.out, System.err)
    }

    private def getAppVersionCode() { getVersionProps()['versionCode'].toInteger() }
    private def getAppVersionCode() { getVersionProps()['appVersionCode'].toInteger() }

    private void save(major, minor, patch, versionCode) {
    save("${major}.${minor}.${patch}".toString(), versionCode.toString())
    }

    private void save(versionName, versionCode) {
    def versionProps = getVersionProps()
    versionProps['versionName'] = versionName
    versionProps['versionCode'] = versionCode
    versionProps['appVersionName'] = versionName
    versionProps['appVersionCode'] = versionCode
    versionProps.store(file('gradle.properties').newWriter(), null)
    commitAndSetTag(versionName)
    }
  2. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -31,12 +31,12 @@ private void commitAndSetTag(versionName) {
    private def getAppVersionCode() { getVersionProps()['versionCode'].toInteger() }

    private void save(major, minor, patch, versionCode) {
    save("${major}.${minor}.${patch}", versionCode.toString())
    save("${major}.${minor}.${patch}".toString(), versionCode.toString())
    }

    private void save(versionName, versionCode) {
    def versionProps = getVersionProps()
    versionProps['versionName'] = versionName.toString()
    versionProps['versionName'] = versionName
    versionProps['versionCode'] = versionCode
    versionProps.store(file('gradle.properties').newWriter(), null)
    commitAndSetTag(versionName)
  3. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -36,7 +36,7 @@ private void save(major, minor, patch, versionCode) {

    private void save(versionName, versionCode) {
    def versionProps = getVersionProps()
    versionProps['versionName'] = versionName
    versionProps['versionName'] = versionName.toString()
    versionProps['versionCode'] = versionCode
    versionProps.store(file('gradle.properties').newWriter(), null)
    commitAndSetTag(versionName)
  4. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -17,7 +17,7 @@ def getVersionNameMinor = { (getVersionName() =~ /\d+/)[1].toInteger() }

    def getVersionNameMajor = { (getVersionName() =~ /\d+/)[0].toInteger() }

    private void commitAndSetTag(String versionName) {
    private void commitAndSetTag(versionName) {
    Process addChanges = ['git', 'add', 'app/gradle.properties'].execute(null, project.rootDir)
    addChanges.waitForProcessOutput(System.out, System.err)

  5. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -31,13 +31,13 @@ private void commitAndSetTag(String versionName) {
    private def getAppVersionCode() { getVersionProps()['versionCode'].toInteger() }

    private void save(major, minor, patch, versionCode) {
    save("${major}.${minor}.${patch}", versionCode)
    save("${major}.${minor}.${patch}", versionCode.toString())
    }

    private void save(String versionName, Integer versionCode) {
    private void save(versionName, versionCode) {
    def versionProps = getVersionProps()
    versionProps['versionName'] = versionName
    versionProps['versionCode'] = versionCode.toString()
    versionProps['versionCode'] = versionCode
    versionProps.store(file('gradle.properties').newWriter(), null)
    commitAndSetTag(versionName)
    }
  6. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 24 additions and 60 deletions.
    84 changes: 24 additions & 60 deletions app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -1,34 +1,24 @@
    class Constants {
    final static VERSION_CODE = 'versionCode'
    final static VERSION_NAME = 'versionName'
    final static PATH_TO_VERSIONING_FILE = 'app/gradle.properties'
    }

    def getVersionFile() {
    return file('gradle.properties')
    }
    def getVersionName = { getVersionProps()['versionName'] }
    def getVersionFile = { file('gradle.properties') }

    def getVersionProps() {
    def versionPropsFile = getVersionFile()
    def versionPropsFile = file('gradle.properties')
    if (!versionPropsFile.exists()) {
    versionPropsFile.createNewFile()
    }
    def versionProps = new Properties()
    versionProps.load(new FileInputStream(versionPropsFile))
    return versionProps
    }

    private Integer getVersionNamePatch() {
    return (getVersionProps()[VERSION_NAME] =~ /\d+/)[2].toInteger()
    }
    def getVersionNamePatch = { (getVersionName() =~ /\d+/)[2].toInteger() }

    private Integer getVersionNameMinor() {
    return (getVersionProps()[VERSION_NAME] =~ /\d+/)[1].toInteger()
    }
    def getVersionNameMinor = { (getVersionName() =~ /\d+/)[1].toInteger() }

    private Integer getVersionNameMajor() {
    return (getVersionProps()[VERSION_NAME] =~ /\d+/)[0].toInteger()
    }
    def getVersionNameMajor = { (getVersionName() =~ /\d+/)[0].toInteger() }

    private void commitAndSetTag(String versionName) {
    Process addChanges = ['git', 'add', PATH_TO_VERSIONING_FILE].execute(null, project.rootDir)
    Process addChanges = ['git', 'add', 'app/gradle.properties'].execute(null, project.rootDir)
    addChanges.waitForProcessOutput(System.out, System.err)

    Process createCommit = ['git', 'commit', "-m Release ${versionName}"].execute(null, project.rootDir)
    @@ -38,72 +28,46 @@ private void commitAndSetTag(String versionName) {
    createTag.waitForProcessOutput(System.out, System.err)
    }

    private def getAppVersionCode() {
    return getVersionProps()[VERSION_CODE].toInteger()
    private def getAppVersionCode() { getVersionProps()['versionCode'].toInteger() }

    private void save(major, minor, patch, versionCode) {
    save("${major}.${minor}.${patch}", versionCode)
    }

    private void saveChanges(String versionName, Integer versionCode) {
    private void save(String versionName, Integer versionCode) {
    def versionProps = getVersionProps()
    versionProps[VERSION_NAME] = versionName
    versionProps[VERSION_CODE] = versionCode.toString()
    versionProps.store(getVersionFile().newWriter(), null)
    versionProps['versionName'] = versionName
    versionProps['versionCode'] = versionCode.toString()
    versionProps.store(file('gradle.properties').newWriter(), null)
    commitAndSetTag(versionName)
    }

    task bumperInit() {
    group = 'bumper'
    doLast {
    def versionName = project.hasProperty('bumperVersionName') ? bumperVersionName : '1.0.0'
    def versionCode = project.hasProperty('bumperVersionCode') ? bumperVersionCode : '1'
    def propertyFile = getVersionFile()
    if (!propertyFile.exists()) {
    propertyFile.createNewFile()
    }
    def props = new Properties()

    propertyFile.withReader { props.load(it) }

    props.setProperty('versionName', versionName)
    props.setProperty('versionCode', versionCode)

    props.store(propertyFile.newWriter(), null)
    save(versionName, versionCode)
    }
    }

    task bumpVersionPatch () {
    task bumperVersionPatch () {
    group = 'bumper'
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    def versionNameMinor = getVersionNameMinor()
    def versionNamePatch = getVersionNamePatch() + 1
    def versionName = "${versionNameMajor}.${versionNameMinor}.${versionNamePatch}".toString()
    saveChanges(versionName, versionCode)
    commitAndSetTag(versionName)
    save(getVersionNameMajor(), getVersionNameMinor(), getVersionNamePatch() + 1, getAppVersionCode() + 1)
    }
    }

    task bumperVersionMinor () {
    group = 'bumper'
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    def versionNameMinor = getVersionNameMinor() + 1
    def versionNamePatch = 0
    def versionName = "${versionNameMajor}.${versionNameMinor}.${versionNamePatch}".toString()
    saveChanges(versionName, versionCode)
    commitAndSetTag(versionName)
    save(getVersionNameMajor(), getVersionNameMinor() + 1, 0, getAppVersionCode() + 1)
    }
    }

    task bumperVersionMajor () {
    group = 'bumper'
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor() + 1
    def versionNameMinor = 0
    def versionNamePatch = 0
    def versionName = "${versionNameMajor}.${versionNameMinor}.${versionNamePatch}".toString()
    saveChanges(versionName, versionCode)
    commitAndSetTag(versionName)
    save(getVersionNameMajor() + 1, 0, 0, getAppVersionCode() + 1)
    }
    }
  7. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 4 additions and 5 deletions.
    9 changes: 4 additions & 5 deletions app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,6 @@ class Constants {
    final static VERSION_CODE = 'versionCode'
    final static VERSION_NAME = 'versionName'
    final static PATH_TO_VERSIONING_FILE = 'app/gradle.properties'
    final static GROUP_NAME = 'bumper'
    }

    def getVersionFile() {
    @@ -51,7 +50,7 @@ private void saveChanges(String versionName, Integer versionCode) {
    }

    task bumperInit() {
    group = GROUP_NAME
    group = 'bumper'
    doLast {
    def versionName = project.hasProperty('bumperVersionName') ? bumperVersionName : '1.0.0'
    def versionCode = project.hasProperty('bumperVersionCode') ? bumperVersionCode : '1'
    @@ -71,7 +70,7 @@ task bumperInit() {
    }

    task bumpVersionPatch () {
    group = GROUP_NAME
    group = 'bumper'
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    @@ -84,7 +83,7 @@ task bumpVersionPatch () {
    }

    task bumperVersionMinor () {
    group = GROUP_NAME
    group = 'bumper'
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    @@ -97,7 +96,7 @@ task bumperVersionMinor () {
    }

    task bumperVersionMajor () {
    group = GROUP_NAME
    group = 'bumper'
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor() + 1
  8. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 6 additions and 4 deletions.
    10 changes: 6 additions & 4 deletions app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,9 @@
    VERSION_CODE = 'versionCode'
    VERSION_NAME = 'versionName'
    PATH_TO_VERSIONING_FILE = 'app/gradle.properties'
    GROUP_NAME = 'bumper'
    class Constants {
    final static VERSION_CODE = 'versionCode'
    final static VERSION_NAME = 'versionName'
    final static PATH_TO_VERSIONING_FILE = 'app/gradle.properties'
    final static GROUP_NAME = 'bumper'
    }

    def getVersionFile() {
    return file('gradle.properties')
  9. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    final VERSION_CODE = 'versionCode'
    final VERSION_NAME = 'versionName'
    final PATH_TO_VERSIONING_FILE = 'app/gradle.properties'
    final GROUP_NAME = 'bumper'
    VERSION_CODE = 'versionCode'
    VERSION_NAME = 'versionName'
    PATH_TO_VERSIONING_FILE = 'app/gradle.properties'
    GROUP_NAME = 'bumper'

    def getVersionFile() {
    return file('gradle.properties')
  10. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 19 additions and 10 deletions.
    29 changes: 19 additions & 10 deletions app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,8 @@
    final VERSION_CODE = 'versionCode'
    final VERSION_NAME = 'versionName'
    final PATH_TO_VERSIONING_FILE = 'app/gradle.properties'
    final GROUP_NAME = 'bumper'

    def getVersionFile() {
    return file('gradle.properties')
    }
    @@ -10,19 +15,19 @@ def getVersionProps() {
    }

    private Integer getVersionNamePatch() {
    return (getVersionProps()['versionName'] =~ /\d+/)[2].toInteger()
    return (getVersionProps()[VERSION_NAME] =~ /\d+/)[2].toInteger()
    }

    private Integer getVersionNameMinor() {
    return (getVersionProps()['versionName'] =~ /\d+/)[1].toInteger()
    return (getVersionProps()[VERSION_NAME] =~ /\d+/)[1].toInteger()
    }

    private Integer getVersionNameMajor() {
    return (getVersionProps()['versionName'] =~ /\d+/)[0].toInteger()
    return (getVersionProps()[VERSION_NAME] =~ /\d+/)[0].toInteger()
    }

    private void commitAndSetTag(String versionName) {
    Process addChanges = ['git', 'add', 'app/versioning/app_version.properties'].execute(null, project.rootDir)
    Process addChanges = ['git', 'add', PATH_TO_VERSIONING_FILE].execute(null, project.rootDir)
    addChanges.waitForProcessOutput(System.out, System.err)

    Process createCommit = ['git', 'commit', "-m Release ${versionName}"].execute(null, project.rootDir)
    @@ -32,15 +37,19 @@ private void commitAndSetTag(String versionName) {
    createTag.waitForProcessOutput(System.out, System.err)
    }

    private def getAppVersionCode() {
    return getVersionProps()[VERSION_CODE].toInteger()
    }

    private void saveChanges(String versionName, Integer versionCode) {
    def versionProps = getVersionProps()
    versionProps['versionName'] = versionName
    versionProps['versionCode'] = versionCode.toString()
    versionProps[VERSION_NAME] = versionName
    versionProps[VERSION_CODE] = versionCode.toString()
    versionProps.store(getVersionFile().newWriter(), null)
    }

    task bumperInit() {
    group = 'bumper'
    group = GROUP_NAME
    doLast {
    def versionName = project.hasProperty('bumperVersionName') ? bumperVersionName : '1.0.0'
    def versionCode = project.hasProperty('bumperVersionCode') ? bumperVersionCode : '1'
    @@ -60,7 +69,7 @@ task bumperInit() {
    }

    task bumpVersionPatch () {
    group = 'bumper'
    group = GROUP_NAME
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    @@ -73,7 +82,7 @@ task bumpVersionPatch () {
    }

    task bumperVersionMinor () {
    group = 'bumper'
    group = GROUP_NAME
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    @@ -86,7 +95,7 @@ task bumperVersionMinor () {
    }

    task bumperVersionMajor () {
    group = 'bumper'
    group = GROUP_NAME
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor() + 1
  11. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 8 additions and 4 deletions.
    12 changes: 8 additions & 4 deletions app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -39,7 +39,8 @@ private void saveChanges(String versionName, Integer versionCode) {
    versionProps.store(getVersionFile().newWriter(), null)
    }

    task bumperInit(type: bumper) {
    task bumperInit() {
    group = 'bumper'
    doLast {
    def versionName = project.hasProperty('bumperVersionName') ? bumperVersionName : '1.0.0'
    def versionCode = project.hasProperty('bumperVersionCode') ? bumperVersionCode : '1'
    @@ -58,7 +59,8 @@ task bumperInit(type: bumper) {
    }
    }

    task bumpVersionPatch (type: bumper) {
    task bumpVersionPatch () {
    group = 'bumper'
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    @@ -70,7 +72,8 @@ task bumpVersionPatch (type: bumper) {
    }
    }

    task bumperVersionMinor (type: bumper) {
    task bumperVersionMinor () {
    group = 'bumper'
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    @@ -82,7 +85,8 @@ task bumperVersionMinor (type: bumper) {
    }
    }

    task bumperVersionMajor (type: bumper) {
    task bumperVersionMajor () {
    group = 'bumper'
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor() + 1
  12. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 22 additions and 22 deletions.
    44 changes: 22 additions & 22 deletions app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -2,25 +2,6 @@ def getVersionFile() {
    return file('gradle.properties')
    }

    task bumperInit() {
    doLast {
    def versionName = project.hasProperty('bumperVersionName') ? bumperVersionName : '1.0.0'
    def versionCode = project.hasProperty('bumperVersionCode') ? bumperVersionCode : '1'
    def propertyFile = getVersionFile()
    if (!propertyFile.exists()) {
    propertyFile.createNewFile()
    }
    def props = new Properties()

    propertyFile.withReader { props.load(it) }

    props.setProperty('versionName', versionName)
    props.setProperty('versionCode', versionCode)

    props.store(propertyFile.newWriter(), null)
    }
    }

    def getVersionProps() {
    def versionPropsFile = getVersionFile()
    def versionProps = new Properties()
    @@ -58,7 +39,26 @@ private void saveChanges(String versionName, Integer versionCode) {
    versionProps.store(getVersionFile().newWriter(), null)
    }

    task bumpVersionPatch {
    task bumperInit(type: bumper) {
    doLast {
    def versionName = project.hasProperty('bumperVersionName') ? bumperVersionName : '1.0.0'
    def versionCode = project.hasProperty('bumperVersionCode') ? bumperVersionCode : '1'
    def propertyFile = getVersionFile()
    if (!propertyFile.exists()) {
    propertyFile.createNewFile()
    }
    def props = new Properties()

    propertyFile.withReader { props.load(it) }

    props.setProperty('versionName', versionName)
    props.setProperty('versionCode', versionCode)

    props.store(propertyFile.newWriter(), null)
    }
    }

    task bumpVersionPatch (type: bumper) {
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    @@ -70,7 +70,7 @@ task bumpVersionPatch {
    }
    }

    task bumperVersionMinor {
    task bumperVersionMinor (type: bumper) {
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    @@ -82,7 +82,7 @@ task bumperVersionMinor {
    }
    }

    task bumperVersionMajor {
    task bumperVersionMajor (type: bumper) {
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor() + 1
  13. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 3 additions and 11 deletions.
    14 changes: 3 additions & 11 deletions app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -51,14 +51,6 @@ private void commitAndSetTag(String versionName) {
    createTag.waitForProcessOutput(System.out, System.err)
    }

    //ext.getAppVersionCode = {
    // getVersionProps()['versionCode'].toInteger()
    //}
    //
    //ext.getAppVersionName = {
    // getVersionProps()['versionName'].toString()
    //}

    private void saveChanges(String versionName, Integer versionCode) {
    def versionProps = getVersionProps()
    versionProps['versionName'] = versionName
    @@ -83,7 +75,7 @@ task bumperVersionMinor {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    def versionNameMinor = getVersionNameMinor() + 1
    def versionNamePatch = getVersionNamePatch()
    def versionNamePatch = 0
    def versionName = "${versionNameMajor}.${versionNameMinor}.${versionNamePatch}".toString()
    saveChanges(versionName, versionCode)
    commitAndSetTag(versionName)
    @@ -94,8 +86,8 @@ task bumperVersionMajor {
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor() + 1
    def versionNameMinor = getVersionNameMinor()
    def versionNamePatch = getVersionNamePatch()
    def versionNameMinor = 0
    def versionNamePatch = 0
    def versionName = "${versionNameMajor}.${versionNameMinor}.${versionNamePatch}".toString()
    saveChanges(versionName, versionCode)
    commitAndSetTag(versionName)
  14. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 30 additions and 11 deletions.
    41 changes: 30 additions & 11 deletions app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,24 @@
    def getVersionFile() {
    return file('versioning/app_version.properties')
    return file('gradle.properties')
    }

    task bumperInit() {
    doLast {
    def versionName = project.hasProperty('bumperVersionName') ? bumperVersionName : '1.0.0'
    def versionCode = project.hasProperty('bumperVersionCode') ? bumperVersionCode : '1'
    def propertyFile = getVersionFile()
    if (!propertyFile.exists()) {
    propertyFile.createNewFile()
    }
    def props = new Properties()

    propertyFile.withReader { props.load(it) }

    props.setProperty('versionName', versionName)
    props.setProperty('versionCode', versionCode)

    props.store(propertyFile.newWriter(), null)
    }
    }

    def getVersionProps() {
    @@ -32,13 +51,13 @@ private void commitAndSetTag(String versionName) {
    createTag.waitForProcessOutput(System.out, System.err)
    }

    ext.getAppVersionCode = {
    getVersionProps()['versionCode'].toInteger()
    }

    ext.getAppVersionName = {
    getVersionProps()['versionName'].toString()
    }
    //ext.getAppVersionCode = {
    // getVersionProps()['versionCode'].toInteger()
    //}
    //
    //ext.getAppVersionName = {
    // getVersionProps()['versionName'].toString()
    //}

    private void saveChanges(String versionName, Integer versionCode) {
    def versionProps = getVersionProps()
    @@ -47,7 +66,7 @@ private void saveChanges(String versionName, Integer versionCode) {
    versionProps.store(getVersionFile().newWriter(), null)
    }

    task versionPatch {
    task bumpVersionPatch {
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    @@ -59,7 +78,7 @@ task versionPatch {
    }
    }

    task versionMinor {
    task bumperVersionMinor {
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    @@ -71,7 +90,7 @@ task versionMinor {
    }
    }

    task versionMajor {
    task bumperVersionMajor {
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor() + 1
  15. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -22,7 +22,7 @@ private Integer getVersionNameMajor() {
    }

    private void commitAndSetTag(String versionName) {
    Process addChanges = ['git', 'add', 'app/versioning/app_version_code.properties'].execute(null, project.rootDir)
    Process addChanges = ['git', 'add', 'app/versioning/app_version.properties'].execute(null, project.rootDir)
    addChanges.waitForProcessOutput(System.out, System.err)

    Process createCommit = ['git', 'commit', "-m Release ${versionName}"].execute(null, project.rootDir)
  16. Ilya Eremin revised this gist Sep 9, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    def getVersionFile() {
    return file('versioning/app_version_code.properties')
    return file('versioning/app_version.properties')
    }

    def getVersionProps() {
  17. Ilya Eremin created this gist Sep 18, 2017.
    84 changes: 84 additions & 0 deletions app_version.gradle
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,84 @@
    def getVersionFile() {
    return file('versioning/app_version_code.properties')
    }

    def getVersionProps() {
    def versionPropsFile = getVersionFile()
    def versionProps = new Properties()
    versionProps.load(new FileInputStream(versionPropsFile))
    return versionProps
    }

    private Integer getVersionNamePatch() {
    return (getVersionProps()['versionName'] =~ /\d+/)[2].toInteger()
    }

    private Integer getVersionNameMinor() {
    return (getVersionProps()['versionName'] =~ /\d+/)[1].toInteger()
    }

    private Integer getVersionNameMajor() {
    return (getVersionProps()['versionName'] =~ /\d+/)[0].toInteger()
    }

    private void commitAndSetTag(String versionName) {
    Process addChanges = ['git', 'add', 'app/versioning/app_version_code.properties'].execute(null, project.rootDir)
    addChanges.waitForProcessOutput(System.out, System.err)

    Process createCommit = ['git', 'commit', "-m Release ${versionName}"].execute(null, project.rootDir)
    createCommit.waitForProcessOutput(System.out, System.err)

    Process createTag = ['git', 'tag', "v${versionName}".toString()].execute(null, project.rootDir)
    createTag.waitForProcessOutput(System.out, System.err)
    }

    ext.getAppVersionCode = {
    getVersionProps()['versionCode'].toInteger()
    }

    ext.getAppVersionName = {
    getVersionProps()['versionName'].toString()
    }

    private void saveChanges(String versionName, Integer versionCode) {
    def versionProps = getVersionProps()
    versionProps['versionName'] = versionName
    versionProps['versionCode'] = versionCode.toString()
    versionProps.store(getVersionFile().newWriter(), null)
    }

    task versionPatch {
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    def versionNameMinor = getVersionNameMinor()
    def versionNamePatch = getVersionNamePatch() + 1
    def versionName = "${versionNameMajor}.${versionNameMinor}.${versionNamePatch}".toString()
    saveChanges(versionName, versionCode)
    commitAndSetTag(versionName)
    }
    }

    task versionMinor {
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor()
    def versionNameMinor = getVersionNameMinor() + 1
    def versionNamePatch = getVersionNamePatch()
    def versionName = "${versionNameMajor}.${versionNameMinor}.${versionNamePatch}".toString()
    saveChanges(versionName, versionCode)
    commitAndSetTag(versionName)
    }
    }

    task versionMajor {
    doLast {
    def versionCode = getAppVersionCode() + 1
    def versionNameMajor = getVersionNameMajor() + 1
    def versionNameMinor = getVersionNameMinor()
    def versionNamePatch = getVersionNamePatch()
    def versionName = "${versionNameMajor}.${versionNameMinor}.${versionNamePatch}".toString()
    saveChanges(versionName, versionCode)
    commitAndSetTag(versionName)
    }
    }