Room-Adapter (EventStore) für mana-kotlin-event-sync — ersetzt die per-App-Kopien — Apache-2.0, Spiegel des Vereins mana.
Find a file
Till JS 0349b9f361 README: Bau-Anleitung aus offenen Klonen und Erwartungssatz
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>
2026-09-30 13:35:38 +02:00
devlog/2026-06-10 devlog: Repo-Historie nachgezogen (spieler+macher) 2026-06-16 01:44:27 +02:00
gradle build: Abhaengigkeiten auf die heutigen Quellstaende, mavenLocal ergaenzt 2026-08-14 12:31:14 +02:00
src/main/kotlin/ev/mana/eventsync/room feat: RoomEventStore.purgeByAggregatePrefix — lokaler Wipe (A3, 0.5.0); event-sync 0.7.0 2026-06-16 19:36:32 +02:00
.gitignore mana-kotlin-event-sync-room 0.4.0 — Room-Adapter aus den 5 App-Kopien extrahiert 2026-06-10 22:02:08 +02:00
build.gradle.kts 0.8.0: Lockstep mit mana-kotlin-event-sync 0.8.0 (402-Handling) 2026-06-17 19:33:37 +02:00
gradle.properties mana-kotlin-event-sync-room 0.4.0 — Room-Adapter aus den 5 App-Kopien extrahiert 2026-06-10 22:02:08 +02:00
gradlew mana-kotlin-event-sync-room 0.4.0 — Room-Adapter aus den 5 App-Kopien extrahiert 2026-06-10 22:02:08 +02:00
gradlew.bat mana-kotlin-event-sync-room 0.4.0 — Room-Adapter aus den 5 App-Kopien extrahiert 2026-06-10 22:02:08 +02:00
LICENSE Apache-2.0: LICENSE + NOTICE 2026-08-03 23:05:06 +02:00
NOTICE Apache-2.0: LICENSE + NOTICE 2026-08-03 23:05:06 +02:00
README.md README: Bau-Anleitung aus offenen Klonen und Erwartungssatz 2026-09-30 13:35:38 +02:00
settings.gradle.kts build: Abhaengigkeiten auf die heutigen Quellstaende, mavenLocal ergaenzt 2026-08-14 12:31:14 +02:00

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.