Gradle Script for Automate app version.
/** * Auto Increment Build Version Script*/def versionPropsFile= file('version.properties')/*Setting default value for versionBuild which is the last incremented value stored in the file*/if (versionPropsFile.canRead()) {Properties versionProps=newProperties() versionProps.load(newFileInputStream(versionPropsFile))def value=0try {def releaseBuildTask= getTasks().findByName('assemble').nameif ('assemble'in releaseBuildTask) { value=1 } }catch(Exception exception) {println"Unable to found Release build Running Tasks" }//Getting Strings from version.propertiesdef versionMajor= versionProps['VERSION_MAJOR'].toInteger()def versionMinor= versionProps['VERSION_MINOR'].toInteger()def versionPatch= versionProps['VERSION_PATCH'].toInteger()+ valuedef versionBuild= versionProps['VERSION_BUILD'].toInteger()+1def versionNumber= versionProps['VERSION_NUMBER'].toInteger()+ value//Saving modified values in version.properties versionProps['VERSION_PATCH']= versionPatch.toString() versionProps['VERSION_BUILD']= versionBuild.toString() versionProps['VERSION_NUMBER']= versionNumber.toString() versionProps.store(versionPropsFile.newWriter(),null) defaultConfig { applicationId"" minSdkVersion16 targetSdkVersion29 versionCode versionNumber versionName"${versionMajor}.${versionMinor}.${versionPatch}.${versionBuild}" testInstrumentationRunner"androidx.test.runner.AndroidJUnitRunner" multiDexEnabledtrue archivesBaseName="${applicationId}_v${versionName}" } }else {thrownewFileNotFoundException("Could not find version.properties") }