Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b03f3d90 authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊
Browse files

feat: add incrementing versionCode and versionName

parent bbbb930f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -13,3 +13,4 @@ local.properties
.gradle/
build/
.DS_Store
version.properties
+58 −2
Original line number Diff line number Diff line
@@ -68,9 +68,65 @@ android {
    namespace "com.android.launcher3"
    useLibrary "android.test.mock"

    def versionPropsFile = file('version.properties')
    Properties versionProps = new Properties()

    if (!versionPropsFile.exists()) {
        versionProps['VERSION_CHANGE'] = '0'
        versionProps['VERSION_MAJOR'] = '3'
        versionProps['VERSION_MINOR'] = '0'
        versionProps['VERSION_PATCH'] = '1'
        versionProps['VERSION_CODE'] = '3000010'
        versionProps.store(versionPropsFile.newWriter(), null)
    }

    def getVersionCode = { ->
        if (versionPropsFile.canRead()) {
            versionProps.load(new FileInputStream(versionPropsFile))
            def versionChange = versionProps['VERSION_CHANGE'].toInteger() + 1
            def versionMinor = versionProps['VERSION_MINOR'].toInteger()
            def versionMajor = versionProps['VERSION_MAJOR'].toInteger()
            def versionPatch = versionProps['VERSION_PATCH'].toInteger()
            // Up version on each 100 cycles of builds
            if (versionChange >= 100) {
                versionPatch = versionProps['VERSION_PATCH'].toInteger() + 1
                versionChange = 0
            }
            if (versionPatch == 9) {
                versionMinor = versionProps['VERSION_MINOR'].toInteger() + 1
                versionPatch = 0
            }
            if (versionMinor == 9) {
                versionMajor = versionProps['VERSION_MAJOR'].toInteger() + 1
                versionMinor = 0
            }
            def versionCode = versionProps['VERSION_CODE'].toInteger()

            versionProps['VERSION_CHANGE'] = versionChange.toString()
            versionProps['VERSION_PATCH'] = versionPatch.toString()
            versionProps['VERSION_MINOR'] = versionMinor.toString()
            versionProps['VERSION_MAJOR'] = versionMajor.toString()
            versionProps['VERSION_CODE'] = (versionCode.toInteger() + 1).toString()
            versionProps.store(versionPropsFile.newWriter(), null)
            return versionCode
        }
    }

    def getVersionName = { ->
        if (versionPropsFile.canRead()) {
            versionProps.load(new FileInputStream(versionPropsFile))

            def versionMajor = versionProps['VERSION_MAJOR']
            def versionMinor = versionProps['VERSION_MINOR']
            def versionPatch = versionProps['VERSION_PATCH']

            return "${versionMajor}.${versionMinor}.${versionPatch}-beta"
        }
    }

    defaultConfig {
        versionCode 300_00_10
        versionName "3.0.1-beta"
        versionCode getVersionCode()
        versionName getVersionName()
        buildConfigField "boolean", "IS_STUDIO_BUILD", "false"
        buildConfigField "boolean", "IS_DEBUG_DEVICE", "false"