161be41adf
ksqlite 0.1.2 опубликован в Maven Central (был только в локальном ~/.m2);
text-embedding-kmp v4 — в caffeine Nexus (поддержка нативных целей):
jvm, android, linuxX64/Arm64, macosX64/Arm64, iosX64/Arm64/SimulatorArm64.
Без этих апдейтов CI release-пайплайн падал с unresolved-dependencies
на любом свежем коммите после acc7237e5 (введение ksqlite).
Дополнительно: игнорируем локальный opencode config.json.
54 lines
2.5 KiB
Kotlin
54 lines
2.5 KiB
Kotlin
plugins {
|
||
alias(libs.plugins.kotlin.multiplatform)
|
||
alias(libs.plugins.kotlin.serialization)
|
||
}
|
||
|
||
// KMP-реализация EventStore поверх ksqlite (https://github.com/caffeine-mgn/ksqlite).
|
||
//
|
||
// Цели сборки:
|
||
// - jvm() — основная, тесты гоняются здесь (in-memory DB без файла)
|
||
// - linuxX64() / mingwX64() — smoke-проверка что KMP реально KMP
|
||
// - androidNative* — НЕ включены, нужны NDK headers иначе gradle падает.
|
||
// Когда дойдём до Android-агента — добавим.
|
||
//
|
||
// Apple targets (macos*, ios*, tvos*, watchos*) невозможно собрать на Linux —
|
||
// Kotlin Multiplatform plugin auto-disables их, так что даже не пытаемся.
|
||
//
|
||
// ksqlite 0.1.2 опубликован в Maven Central (см. settings.gradle.kts —
|
||
// mavenCentral() уже в списке репозиториев), так что CI его видит.
|
||
// Предыдущая зависимость `pw.binom.db:ksqlite:0.1.1-SNAPSHOT` жила только
|
||
// в локальном ~/.m2 и ломала CI.
|
||
// text-embedding-kmp с v4 (2026-09-21) опубликован в caffeine Nexus.
|
||
|
||
kotlin {
|
||
jvmToolchain(21)
|
||
|
||
jvm()
|
||
linuxX64()
|
||
mingwX64()
|
||
|
||
sourceSets {
|
||
commonMain.dependencies {
|
||
// :message-store-api / :working-memory-api / :message-log-api объявлены
|
||
// как api-зависимости здесь, в commonMain — без этого commonMain
|
||
// не скомпилируется (KsqliteConversationStore, KsqliteMessageStore
|
||
// и т.д. используют их типы в commonMain). У них самих есть Apple
|
||
// targets (macosX64/Arm64, iosX64/Arm64/SimulatorArm64, linuxArm64),
|
||
// так что KMP-метаданные корректно резолвятся для всех таргетов.
|
||
|
||
// ksqlite 0.1.2 опубликован в Maven Central — обычный
|
||
// `mavenCentral()` в settings.gradle.kts его подтянет.
|
||
implementation("pw.binom.db:ksqlite:0.1.2")
|
||
implementation(libs.kotlinx.serialization.json)
|
||
|
||
api(project(":journal-api"))
|
||
api(project(":reflection-api"))
|
||
api(project(":context-api"))
|
||
}
|
||
commonTest.dependencies {
|
||
implementation(kotlin("test"))
|
||
implementation(libs.kotlinx.coroutines.test)
|
||
}
|
||
}
|
||
}
|