Use current time as build time for preview builds (#1876)

This commit is contained in:
AntsyLich
2025-03-19 16:17:43 +06:00
committed by GitHub
parent 093e8e5c5a
commit 935f1fcf3f
2 changed files with 9 additions and 2 deletions

View File

@ -31,7 +31,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", "TELEMETRY_INCLUDED", "${Config.includeTelemetry}")
buildConfigField("boolean", "UPDATER_ENABLED", "${Config.enableUpdater}")
@ -71,6 +71,8 @@ android {
signingConfig = debug.signingConfig
matchingFallbacks.addAll(commonMatchingFallbacks)
buildConfigField("String", "BUILD_TIME", "\"${getBuildTime(useLastCommitTime = false)}\"")
}
create("benchmark") {
initWith(release)

View File

@ -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)