summaryrefslogtreecommitdiff
path: root/app/build.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'app/build.gradle.kts')
-rw-r--r--app/build.gradle.kts12
1 files changed, 11 insertions, 1 deletions
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 558e1dc..e525eea 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -35,6 +35,11 @@ android {
arg("room.schemaLocation", "$projectDir/schemas")
}
+ // MigrationTestHelper reads the exported schemas off the device, so they have to ship with
+ // the instrumented test APK. Without this the migration test fails with a missing-asset
+ // error that does not name the schema it wanted.
+ sourceSets.getByName("androidTest").assets.srcDir("$projectDir/schemas")
+
namespace = "org.terst.listen"
compileSdk = 36
@@ -169,7 +174,12 @@ dependencies {
implementation("androidx.datastore:datastore-preferences:1.1.7")
implementation("com.squareup.okhttp3:okhttp:4.12.0")
- implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3")
+ // 1.8.1 rather than something older because Room 2.8's schema-bundle parser -- the thing
+ // MigrationTest leans on -- calls a GeneratedSerializer method that 1.7.3 does not have,
+ // and fails at runtime with an AbstractMethodError rather than at build time. AGP resolves
+ // the androidTest classpath consistently with the app's, so the floor has to be raised
+ // here; raising it in androidTestImplementation alone has no effect.
+ implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.1")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0")
// Bridges suspend functions to the Guava ListenableFuture that Media3's browse callbacks
// return. kotlinx-coroutines-jdk8's future builder produces a CompletableFuture, which is