From 6f1bb5820ac5af194d59069ff26b2ccb372bdcbd Mon Sep 17 00:00:00 2001 From: sspanak Date: Sat, 24 Feb 2024 11:04:50 +0200 Subject: [PATCH] AndroidManifest.xml versionName is also automatically updated on build --- app/build.gradle | 2 +- app/version-tools.gradle | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index d9326f9d..559098ee 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,7 +38,7 @@ tasks.register('writeDictionaryProperties') { tasks.register('updateManifest') { doLast { - updateManifestVersion(getVersionCode()) + updateManifestVersion(getVersionCode(), getVersionName()) } } diff --git a/app/version-tools.gradle b/app/version-tools.gradle index c2bbfc44..2ee9dcf5 100644 --- a/app/version-tools.gradle +++ b/app/version-tools.gradle @@ -61,11 +61,13 @@ ext.getReleaseVersion = { -> return "${generateVersionName()} (${getCurrentGitHash()})" } -ext.updateManifestVersion = { currentVersion -> - def manifestFile = file("src/main/AndroidManifest.xml") - def pattern = ~"versionCode=\"([^\"]+)\"" - def matcher = pattern.matcher(manifestFile.getText()) - matcher.find() - def newManifest = matcher.replaceAll("versionCode=\"" + (currentVersion + 1) + "\"") - manifestFile.write(newManifest) +ext.updateManifestVersion = { versionCode, versionName -> + def manifestFile = file("src/main/AndroidManifest.xml") + + def newManifest = manifestFile + .getText() + .replaceFirst(~"versionCode=\"([^\"]+)\"", "versionCode=\"" + versionCode + "\"") + .replaceFirst(~"versionName=\"([^\"]+)\"", "versionName=\"" + versionName + "\"") + + manifestFile.write(newManifest) }