diff --git a/app/build.gradle.kts b/app/build.gradle.kts index fc6ae082b..58a9fc53f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -36,7 +36,7 @@ android { buildConfigField("String", "COMMIT_COUNT", "\"${getCommitCount()}\"") buildConfigField("String", "COMMIT_SHA", "\"${getGitSha()}\"") - buildConfigField("String", "BUILD_TIME", "\"${getBuildTime()}\"") + buildConfigField("String", "BUILD_TIME", "\"${getBuildTime(useLastCommitTime = false)}\"") buildConfigField("boolean", "INCLUDE_UPDATER", "false") ndk { diff --git a/buildSrc/src/main/kotlin/mihon/buildlogic/Commands.kt b/buildSrc/src/main/kotlin/mihon/buildlogic/Commands.kt index 850364a31..f3470f957 100644 --- a/buildSrc/src/main/kotlin/mihon/buildlogic/Commands.kt +++ b/buildSrc/src/main/kotlin/mihon/buildlogic/Commands.kt @@ -20,7 +20,12 @@ fun Project.getGitSha(): String { private val BUILD_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'") -fun Project.getBuildTime(useLastCommitTime: Boolean = false): String { +/** + * @param useLastCommitTime If `true`, the build time is based on the timestamp of the last Git commit; + * otherwise, the current time is used. Both are in UTC. + * @return A formatted string representing the build time. The format used is defined by [BUILD_TIME_FORMATTER]. + */ +fun Project.getBuildTime(useLastCommitTime: Boolean): String { return if (useLastCommitTime) { val epoch = runCommand("git log -1 --format=%ct").toLong() Instant.ofEpochSecond(epoch).atOffset(ZoneOffset.UTC).format(BUILD_TIME_FORMATTER)