Previous attempt to fix git sha on non-git build broke git build. (#3322)

This uses unusual code provided by Mikhail Lopatkin of Gradle Inc:
https://github.com/gradle/gradle/issues/23914#issuecomment-1431909019
It wraps the git sha function in a "value source". This allows it to interact correctly with configuration caching.
Because the code is longer than before, it is now broken out into its own file getGitSha.gradle.
This commit is contained in:
mcclure 2023-02-16 14:20:52 -05:00 committed by GitHub
commit ab364712fe
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 12 deletions

View file

@ -5,19 +5,9 @@ plugins {
alias(libs.plugins.kotlin.parcelize)
}
// For constructing gitSha only
def getGitSha = {
try { // Try-catch is necessary for build to work on non-git distributions
providers.exec {
commandLine 'git', 'rev-parse', 'HEAD'
executionResult.rethrowFailure() // Without this, sometimes it just stops immediately instead of throwing
}.standardOutput.asText.get().trim()
} catch (Exception e) {
"unknown"
}
}
apply from: 'getGitSha.gradle'
final def gitSha = getGitSha()
final def gitSha = ext.getGitSha()
// The app name
final def APP_NAME = "Tusky"