import org.jetbrains.kotlin.gradle.tasks.KotlinCompile val ktor_version: String by project val kotlin_version: String by project val logback_version: String by project val kmongo_version: String by project plugins { kotlin("jvm") version "1.8.22" id("io.ktor.plugin") version "2.3.1" id("org.jetbrains.kotlin.plugin.serialization") version "1.8.22" id("com.github.johnrengelman.shadow") version "7.1.2" } group = "com.ray650128.pcredive" version = "0.0.1" application { mainClass.set("io.ktor.server.netty.EngineMain") val isDevelopment: Boolean = project.ext.has("development") applicationDefaultJvmArgs = listOf("-Dio.ktor.development=$isDevelopment") } repositories { mavenCentral() } dependencies { implementation("io.ktor:ktor-server-cors-jvm:$ktor_version") implementation("io.ktor:ktor-server-core-jvm:$ktor_version") implementation("io.ktor:ktor-server-content-negotiation-jvm:$ktor_version") implementation("io.ktor:ktor-serialization-kotlinx-json-jvm:$ktor_version") implementation("io.ktor:ktor-server-netty-jvm:$ktor_version") implementation("ch.qos.logback:logback-classic:$logback_version") testImplementation("io.ktor:ktor-server-tests-jvm:$ktor_version") testImplementation("org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version") implementation("org.litote.kmongo:kmongo:$kmongo_version") implementation("org.litote.kmongo:kmongo-id-serialization:$kmongo_version") implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.1.0") } tasks.withType { kotlinOptions.jvmTarget = "1.8" } tasks.jar { manifest { attributes["Main-Class"] = "com.ray650128.bot.MainKt" } } tasks.build { dependsOn(tasks.shadowJar) }