Skip to content

Instantly share code, notes, and snippets.

@paramsen
Last active January 17, 2024 08:17
Show Gist options
  • Star 35 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save paramsen/4a92c9230d799caeb3b90897da27a80c to your computer and use it in GitHub Desktop.
Save paramsen/4a92c9230d799caeb3b90897da27a80c to your computer and use it in GitHub Desktop.
Generate Android version code from git count in Gradle (build.gradle)
// Generate a minor version code from git commit count (for prod builds)
static def generateVersionCode() {
def result = "git rev-list HEAD --count".execute().text.trim() //unix
if(result.empty) result = "PowerShell -Command git rev-list HEAD --count".execute().text.trim() //windows
if(result.empty) throw new RuntimeException("Could not generate versioncode on this platform? Cmd output: ${result.text}")
return result.toInteger()
}
def majorVersion = 1
android {
defaultConfig {
versionCode generateVersionCode()
versionName "${majorVersion}.${generateVersionCode()}"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment