499db812ef
ci / JVM build + tests (push) Failing after 1m10s
- Introduced a new `:journal-ksqlite` module implementing `:journal-api` with Ksqlite backend. - Added a minimal schema (message table + 1 index) for append-only audit logs, eliminating modifications and ensuring immutable storage. - Provides `KsqliteJournalStore` for appending, listing, and clearing messages with JSON-encoded payloads. - Autonomous schema migration (`Schema.migrate`) and in-memory tests validate functionality. - Partial duplication of `:storage-ksqlite/KsqliteMessageStore`; consumers will transition gradually.
34 lines
1.0 KiB
Kotlin
34 lines
1.0 KiB
Kotlin
plugins {
|
||
alias(libs.plugins.kotlin.multiplatform)
|
||
alias(libs.plugins.kotlin.serialization)
|
||
}
|
||
|
||
// KMP-реализация :journal-api (JournalStore / MutableJournalStore) поверх ksqlite.
|
||
// Минимальная — только таблица `message` для append-only audit log'а.
|
||
// ConversationStore / ReflectionStore / WorkingMemoryStore живут в своих
|
||
// собственных ksqlite-модулях.
|
||
//
|
||
// Цели сборки — jvm() + linuxX64() + mingwX64(); Apple targets auto-disabled
|
||
// на Linux (см. KDoc :storage-ksqlite).
|
||
|
||
kotlin {
|
||
jvmToolchain(21)
|
||
|
||
jvm()
|
||
linuxX64()
|
||
mingwX64()
|
||
|
||
sourceSets {
|
||
commonMain.dependencies {
|
||
implementation("pw.binom.db:ksqlite:0.1.1-SNAPSHOT")
|
||
implementation(libs.kotlinx.serialization.json)
|
||
|
||
api(project(":journal-api"))
|
||
}
|
||
commonTest.dependencies {
|
||
implementation(kotlin("test"))
|
||
implementation(libs.kotlinx.coroutines.test)
|
||
}
|
||
}
|
||
}
|