plugins { alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.ktor) } application { mainClass.set("de.bollwerk.server.ApplicationKt") } ktor { fatJar { archiveFileName.set("server.jar") } } java { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } kotlin { compilerOptions { jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) } } dependencies { implementation(project(":shared")) implementation(libs.ktor.server.core) implementation(libs.ktor.server.netty) implementation(libs.ktor.server.content.negotiation) implementation(libs.ktor.server.status.pages) implementation(libs.ktor.server.auth) implementation(libs.ktor.server.auth.jwt) implementation(libs.ktor.server.websockets) implementation(libs.ktor.server.rate.limit) implementation(libs.ktor.server.call.logging) implementation(libs.ktor.serialization.kotlinx.json) implementation(libs.jbcrypt) implementation(libs.logback.classic) implementation(libs.exposed.core) implementation(libs.exposed.jdbc) implementation(libs.postgresql) implementation(libs.hikaricp) implementation(libs.flyway.core) testImplementation(libs.h2.database) testImplementation(libs.ktor.server.test.host) testImplementation(libs.ktor.client.websockets) testImplementation(libs.junit) testImplementation(libs.kotlinx.serialization.json) } tasks { named("distZip") { dependsOn("shadowJar") } named("distTar") { dependsOn("shadowJar") } named("startScripts") { dependsOn("shadowJar") } }