plugins { alias(libs.plugins.kotlin.multiplatform) } // CI-флаг: при -PskipVectorMemory=true зависимости text-embedding-kmp // не подключаются. Нужно для CI runner'а — text-embedding-kmp ещё не // опубликован в caffeine, артефакты есть только в локальном ~/.m2. // Использование: // ./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) } 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) } jvmTest.dependencies { implementation(kotlin("test")) } } } dependencies { add("jvmMainApi", libs.text.embedding.api) add("jvmMainImplementation", libs.text.embedding.siglip) }