@file:Suppress("VulnerableLibrariesLocal") plugins { alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.kotlinx.rpc) alias(ktorLibs.plugins.ktor) } group = "io.github.sor2171" version = "1.0.0-SNAPSHOT" application { mainClass = "io.ktor.server.cio.EngineMain" } kotlin { jvmToolchain(21) } dependencies { // Ktor Core & Features implementation(ktorLibs.server.cio) implementation(ktorLibs.server.config.yaml) implementation(ktorLibs.server.core) implementation(ktorLibs.server.websockets) implementation("io.ktor:ktor-server-content-negotiation:3.6.0") implementation("io.ktor:ktor-serialization-kotlinx-json:3.6.0") implementation("io.ktor:ktor-server-cors:3.6.0") implementation("io.ktor:ktor-server-auth:3.6.0") implementation("io.ktor:ktor-server-auth-jwt:3.6.0") implementation("io.ktor:ktor-server-status-pages:3.6.0") implementation("io.ktor:ktor-server-request-validation:3.6.0") // Serialization & Datetime & Kotlin implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1") implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.0") implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1") // Security & JWT (Spring Boot Security & java-jwt) implementation("com.auth0:java-jwt:4.4.0") implementation("at.favre.lib:bcrypt:0.10.2") // Database: MySQL / MariaDB & Exposed ORM & HikariCP implementation("com.mysql:mysql-connector-j:26.7.0") implementation("org.mariadb.jdbc:mariadb-java-client:3.5.9") implementation("com.zaxxer:HikariCP:5.1.0") implementation("org.jetbrains.exposed:exposed-core:0.55.0") implementation("org.jetbrains.exposed:exposed-jdbc:0.55.0") implementation("org.jetbrains.exposed:exposed-dao:0.55.0") implementation("org.jetbrains.exposed:exposed-kotlin-datetime:0.55.0") // Mail (Spring Boot Starter Mail) implementation("org.eclipse.angus:jakarta.mail:2.0.4") // Redis implementation("io.lettuce:lettuce-core:6.3.2.RELEASE") // RabbitMQ implementation("com.rabbitmq:amqp-client:5.34.0") // Logging implementation(libs.logback.classic) // kotlinx-rpc implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-server:0.10.4") implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-serialization-json:0.10.4") testImplementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-client:0.10.4") testImplementation(kotlin("test")) testImplementation(ktorLibs.server.testHost) }