From cfb9e18a763030eab4a5ed2588cdaab76efead70 Mon Sep 17 00:00:00 2001 From: Dimo Karaivanov Date: Tue, 29 Nov 2022 13:56:21 +0200 Subject: [PATCH] version name generator now counts only the 'v' tags and also takes into account beta versions --- build.gradle | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index 21bcd4e4..b70af886 100644 --- a/build.gradle +++ b/build.gradle @@ -46,15 +46,23 @@ def computeVersionCode = { -> } def computeVersionName = { -> - String tagsCount = execThing('git tag').split('\n').size() - String lastTag = execThing('git describe --tags --abbrev=0') + // major version + String versionTagsCount = execThing('git tag --list v*').split('\n').size() - String gitLogResult = execThing("git log $lastTag..HEAD --oneline") + // minor version + String lastVersionTag = execThing('git describe --match v* --tags --abbrev=0') + String gitLogResult = execThing("git log $lastVersionTag..HEAD --oneline") String commitsSinceLastTag = gitLogResult == '' ? "0" : gitLogResult.split('\n').size() + // the commit we are building from String currentHash = execThing('git log -1 --format=%h') - return "$tagsCount.$commitsSinceLastTag ($currentHash)" + // beta string, if this is a beta + String lastTagName = execThing('git describe --tags --abbrev=0') + String lastTagHash = execThing("git log -1 --format=%h $lastTagName") + String betaString = lastTagHash == currentHash && lastTagName.contains("beta") ? '-beta' : '' + + return "$versionTagsCount.$commitsSinceLastTag$betaString ($currentHash)" } android {