334015a2bd
Build LLM Proxy / Build and push (release) Successful in 44s
- transformThinkMessage/transformThinkChunk/streamSseWithThinkTags сделаны internal ради тестируемости (логика не менялась) - +24 теста: ThinkTagTransformTest (9), ThinkTagChunkTest (8), ThinkTagStreamTest (7) - ConfigLogicTest: ассерт приоритета источников был неразличающим (провайдер и апстрим давали одинаковый результат) — заменён на различающиеся значения - kotlinx-coroutines-test для тестов каналов ktor - Gitea Actions: шаг Run tests (jvmTest) — раньше CI тесты не гонял вовсе - TESTING.md: что покрыто + мутационная приёмка
62 lines
1.8 KiB
Kotlin
62 lines
1.8 KiB
Kotlin
plugins {
|
|
alias(libs.plugins.kotlinMultiplatform)
|
|
alias(libs.plugins.kotlinSerialization)
|
|
}
|
|
|
|
group = "pw.binom"
|
|
version = "0.1.0"
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
kotlin {
|
|
jvm()
|
|
linuxX64()
|
|
sourceSets {
|
|
val commonMain by getting {
|
|
dependencies {
|
|
implementation(libs.ktor.server.core)
|
|
implementation(libs.ktor.server.cio)
|
|
implementation(libs.ktor.client.core)
|
|
implementation(libs.ktor.client.cio)
|
|
implementation(libs.ktor.serialization.kotlinx.json)
|
|
implementation(libs.kotlinx.serialization.json)
|
|
implementation(libs.yamlkt)
|
|
implementation(libs.kotlinx.coroutines.core)
|
|
implementation(libs.kotlinx.datetime)
|
|
implementation(libs.kotlinx.io.core)
|
|
}
|
|
}
|
|
val commonTest by getting {
|
|
dependencies {
|
|
implementation(libs.kotlin.test)
|
|
implementation(libs.kotlinx.coroutines.test)
|
|
}
|
|
}
|
|
val jvmMain by getting {
|
|
dependencies {
|
|
runtimeOnly(libs.logback.classic)
|
|
}
|
|
}
|
|
val jvmTest by getting {
|
|
dependencies {
|
|
implementation(libs.junit.jupiter)
|
|
runtimeOnly(libs.junit.platform.launcher)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.withType<Test> {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
tasks.register<Jar>("fatJar") {
|
|
archiveFileName.set("llm-proxy.jar")
|
|
manifest { attributes("Main-Class" to "pw.binom.llmproxy.MainKt") }
|
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
|
from(kotlin.jvm().compilations["main"].output)
|
|
from(configurations.getByName("jvmRuntimeClasspath").map { if (it.isDirectory) it else zipTree(it) })
|
|
}
|