diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2d77026b..f44dab8e 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -103,8 +103,8 @@ android { applicationId = "com.yugahashimoto.andcode" minSdk = 26 targetSdk = 35 - versionCode = 41 - versionName = "1.2.2" + versionCode = 42 + versionName = "1.2.3" buildConfigField("String", "GITHUB_CLIENT_ID", "\"$githubClientId\"") testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/test/java/com/yugahashimoto/andcode/ReleaseMetadataTest.kt b/app/src/test/java/com/yugahashimoto/andcode/ReleaseMetadataTest.kt new file mode 100644 index 00000000..d9a02df3 --- /dev/null +++ b/app/src/test/java/com/yugahashimoto/andcode/ReleaseMetadataTest.kt @@ -0,0 +1,24 @@ +package com.yugahashimoto.andcode + +import org.junit.Assert.assertEquals +import org.junit.Test +import java.io.File + +class ReleaseMetadataTest { + @Test + fun `android package metadata matches the release tag`() { + val releaseVersion = repositoryRoot().resolve(".release-version").readText().trim().removePrefix("v") + + assertEquals(releaseVersion, BuildConfig.VERSION_NAME) + assertEquals(42, BuildConfig.VERSION_CODE) + } + + private fun repositoryRoot(): File { + val workingDirectory = System.getProperty("user.dir") ?: error("Test working directory is unavailable") + var directory = File(workingDirectory) + while (true) { + if (directory.resolve(".release-version").isFile) return directory + directory = directory.parentFile ?: error("Could not locate .release-version from $workingDirectory") + } + } +}