mana-kotlin-event-sync-room/README.md
Till JS aa531a931b build: Maven-Registry till/maven -> mana/maven (Namespace-Vereinheitlichung)
Kotlin-Libs liegen jetzt in der Verein-Package-Registry git.mana.how/api/packages/mana/maven
(alle 10 Libs / 50 Versionen registry-zu-registry kopiert). Consumer- und
Publisher-URLs nachgezogen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 18:05:22 +02:00

36 lines
1.4 KiB
Markdown

# mana-kotlin-event-sync-room
Room-Adapter für `ev.mana:mana-kotlin-event-sync` — die Android-Persistenz
(`EventStore`-Implementierung) zur sonst pure-JVM-Engine. Ersetzt die
früheren identischen per-App-Kopien (`RoomEventStore`/`EventSyncDao`/
`EventSyncDb` in wordeck/pageta/zitare/nutriphi/stetick-android).
- **Artefakt:** `ev.mana:mana-kotlin-event-sync-room` (Forgejo-Maven,
`git.mana.how/api/packages/mana/maven`)
- **Versionierung:** Lockstep mit `mana-kotlin-event-sync` (gleiche Version).
- **Inhalt:** `EventSyncDatabase` (Room, version 1: `events`/`outbox`/`meta`),
`EventSyncDao`, `RoomEventStore`, `createEventSyncDatabase(context, name)`.
## Migration aus einer App-Kopie
```kotlin
// vorher (per-App-Kopie):
val db = Room.databaseBuilder(context, WordeckDatabase::class.java, "wordeck.db").build()
val store = RoomEventStore(db.dao())
// nachher:
import ev.mana.eventsync.room.RoomEventStore
import ev.mana.eventsync.room.createEventSyncDatabase
val db = createEventSyncDatabase(context, "wordeck.db") // ALTER DB-Name!
val store = RoomEventStore(db.dao())
```
**Wichtig:** Der DB-Dateiname muss der bisherige bleiben — das Schema ist
identisch (version 1), bestehende Event-Logs werden nahtlos weiterverwendet.
## Build
```bash
JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home" ./gradlew assembleRelease
FORGEJO_TOKEN=… ./gradlew publish
```