Room-Adapter (EventStore) für mana-kotlin-event-sync — ersetzt die per-App-Kopien — Apache-2.0, Spiegel des Vereins mana.
🔴 Die Bibliotheks-Kette war aus den QUELLEN nicht baubar. Jede Klammer
zeigte auf eine aeltere Version, als die Quelle des Nachbarn traegt —
diese Staende existieren nur als veroeffentlichte Artefakte, und die
Repos haben keine einzige Git-Marke. Der Build fiel deshalb auf Forgejo
Packages zurueck, und das antwortet seit dem 2026-08-14 mit 401, auch
anonym. Ergebnis: auf einem frischen Rechner ging gar nichts.
Behoben, indem die Klammern auf die Staende gehoben wurden, die im Baum
liegen. Zwei Bibliotheken hatten ausserdem **kein `mavenLocal()`** in
ihrer Repository-Liste — sie konnten per Bauart nur aus dem Registry
ziehen, waehrend die Schwesterbibliotheken es laengst hatten.
Bewiesen, nicht behauptet: alle neun Artefakte liegen nach diesem Stand
in mavenLocal, und die Kartomo-Android-App baut daraus durch
(BUILD SUCCESSFUL, APK `ev.mana.kartomo`).
Sitzung: 5810ba55
|
||
|---|---|---|
| devlog/2026-06-10 | ||
| gradle | ||
| src/main/kotlin/ev/mana/eventsync/room | ||
| .gitignore | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| NOTICE | ||
| README.md | ||
| settings.gradle.kts | ||
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
// 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
JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home" ./gradlew assembleRelease
FORGEJO_TOKEN=… ./gradlew publish