Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -206,3 +206,11 @@ CLAUDE.md
*.orig
.vercel
.superpowers/

# Room schema dumps. Generated by KSP on every build via
# room.schemaLocation. Not committed because Room 2.8.4's bundled
# kotlinx-serialization-core conflicts with the project's 1.8.0
# kotlinx-serialization-json on a clean CI classpath: when an existing
# schema JSON is present, Room's processor tries to deserialize it for
# diff comparison and crashes with AbstractMethodError. (#142)
android/app/schemas/
7 changes: 7 additions & 0 deletions android/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ android {
ndk {
abiFilters += listOf("arm64-v8a", "armeabi-v7a")
}

// ksp { arg("room.schemaLocation", "$projectDir/schemas") } is
// deliberately omitted, because turning on Room schema export
// crashes KSP with an AbstractMethodError between Room 2.8.4's
// bundled kotlinx-serialization-core and the project's
// kotlinx-serialization-json:1.8.0 (tracked in #149). Re-enable
// once the dep conflict is resolved.
}

testOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,14 @@ import com.rjnr.pocketnode.data.database.entity.WalletEntity
// so MIGRATION_8_9 is a no-op. Version bump alone is needed to refresh
// Room's stored identity hash after the entity declarations changed. (#90 / #141)
version = 9,
// Schema export deliberately OFF until the Room 2.8.4 / kotlinx-serialization
// 1.8.0 binary incompatibility is resolved (tracked in #149). Enabling it
// crashes KSP with AbstractMethodError in Room's bundled
// SchemaBundle$$serializer on a clean CI classpath.
//
// The walking-migration test under src/test/ does the schema-validation
// work that exportSchema was meant to enable, so #142's regression-guard
// value is preserved. We just lose the JSON diff in PR review.
exportSchema = false
)
abstract class AppDatabase : RoomDatabase() {
Expand Down
Loading
Loading