diff --git a/.gitignore b/.gitignore index c8f86df..e086cd3 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,4 @@ app/*.apk !/core-db/schemas/io.novafoundation.nova.core_db.AppDatabase/8.json !/core-db/schemas/io.novafoundation.nova.core_db.AppDatabase/9.json -google-services.json \ No newline at end of file +google-services.jsonversion.properties diff --git a/scripts/versions.gradle b/scripts/versions.gradle index 59c57cf..0b9a2d7 100644 --- a/scripts/versions.gradle +++ b/scripts/versions.gradle @@ -1,9 +1,34 @@ +def getVersionCodeFromFile() { + def versionFile = new File(rootProject.projectDir, 'version.properties') + if (!versionFile.exists()) { + versionFile.text = 'VERSION_CODE=1' + } + def props = new Properties() + props.load(versionFile.newDataInputStream()) + return props.getProperty('VERSION_CODE', '1').toInteger() +} + +def incrementVersionCode() { + def versionFile = new File(rootProject.projectDir, 'version.properties') + def currentCode = getVersionCodeFromFile() + def newCode = currentCode + 1 + versionFile.text = "VERSION_CODE=${newCode}" + return newCode +} + def computeVersionName() { return "$rootProject.versionName" } def computeVersionCode() { - return Integer.valueOf(System.env.CI_BUILD_ID ?: rootProject.versionCode) + if (System.env.CI_BUILD_ID) { + return Integer.valueOf(System.env.CI_BUILD_ID) + } + // Local build - auto increment + if (gradle.startParameter.taskNames.any { it.contains('assemble') || it.contains('install') }) { + return incrementVersionCode() + } + return getVersionCodeFromFile() } def static releaseNotes() {