Vorbereitung für die Spiegelung nach git.mana.how/offen (Prüfliste QUELLOEFFNUNG.md §5): Sweep sauber, keine Privat-Marker, Apache-2.0 mit NOTICE seit Welle 1, Schriften mit OFL-Texten. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| 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
Bauen
Kotlin/Gradle. Die mana-Bibliotheken finden sich gegenseitig über
mavenLocal() — in dieser Reihenfolge veröffentlichen:
for r in mana-kotlin-core mana-kotlin-tokens mana-kotlin-event-sync \
mana-kotlin-widget mana-kotlin-event-sync-room mana-kotlin-ui; do
git clone https://git.mana.how/offen/$r.git && (cd $r && ./gradlew publishToMavenLocal)
done
Danach baut auch Pageta für Android.
Für Mitlesende
Dieses Repo gehört zum Ökosystem von mana und liegt offen, damit andere es lesen, einordnen und als Grundlage nutzen können — das spart Arbeit, egal ob ein Mensch oder ein Modell davorsitzt.
Was du erwarten darfst: den Code so, wie er tatsächlich in Gebrauch ist,
unter Apache-2.0 (siehe LICENSE und NOTICE). Keine Attrappe, kein
zurechtgeschnittener Auszug — samt seiner Geschichte.
Was du nicht erwarten darfst: Support, Antwortzeiten, Zusagen zur Abwärtskompatibilität oder die Übernahme von Änderungswünschen. Dieses Repo folgt dem, was die eigenen Anwendungen brauchen. Fehlermeldungen sind willkommen, eine Antwort ist nicht zugesagt.
Fork ist ausdrücklich erlaubt und oft der schnellere Weg als zu warten.