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 { useJUnitPlatform() } tasks.register("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) }) }