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.
50 lines
2.3 KiB
Kotlin
50 lines
2.3 KiB
Kotlin
plugins {
|
||
alias(libs.plugins.kotlin.multiplatform)
|
||
}
|
||
|
||
// CI-флаг: при -PskipVectorMemory=true зависимости text-embedding-kmp
|
||
// не подключаются. Раньше был нужен потому что text-embedding-kmp был
|
||
// только в локальном ~/.m2; с 2026-09-21 (v4 в caffeine) можно убрать,
|
||
// но оставлен на случай если CI внезапно отвалится от Nexus.
|
||
// Использование:
|
||
// ./gradlew :memory-vector:compileKotlinJvm -PskipVectorMemory=true
|
||
// Локальная разработка без флага — зависимости подключаются как обычно.
|
||
val skipVectorMemory: Boolean =
|
||
(project.findProperty("skipVectorMemory") == "true") ||
|
||
System.getenv("SKIP_VECTOR_MEMORY") == "1"
|
||
|
||
kotlin {
|
||
jvmToolchain(21)
|
||
|
||
// Vector-бэкенд JVM-only: JVector не публикует KMP-таргеты, но его Java 11
|
||
// base jar работает на Android ART через scalar fallback. Для desktop JVM
|
||
// HotSpot 21+ автоматически подхватывается Panama Vector API (multirelease).
|
||
jvm()
|
||
|
||
sourceSets {
|
||
commonMain.dependencies {
|
||
api(project(":memory-api"))
|
||
implementation(libs.kotlinx.coroutines.core)
|
||
implementation(libs.kotlinx.serialization.json)
|
||
// `pw.binom.ai.embeddingtext:api` (TextEmbeddingExtractor + TextEmbedding)
|
||
// теперь KMP с нативом (linuxX64/mingwX64/macOS/ios); тянем в commonMain.
|
||
// Реализации (`siglip`, `http`) — JVM+Android only, см. jvmMain ниже.
|
||
api(libs.text.embedding.api)
|
||
}
|
||
commonTest.dependencies {
|
||
implementation(kotlin("test"))
|
||
implementation(libs.kotlinx.coroutines.core)
|
||
implementation(libs.kotlinx.coroutines.test)
|
||
}
|
||
jvmMain.dependencies {
|
||
implementation(libs.jvector)
|
||
implementation(libs.sqldelight.sqlite.driver)
|
||
// Конкретная реализация TextEmbeddingExtractor поверх ONNX.
|
||
implementation(libs.text.embedding.siglip)
|
||
}
|
||
jvmTest.dependencies {
|
||
implementation(kotlin("test"))
|
||
}
|
||
}
|
||
}
|