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>
36 lines
1.4 KiB
Markdown
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
|
|
```
|