plugins { alias(libs.plugins.kotlin.jvm) alias(ktorLibs.plugins.ktor) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.kotlinx.rpc.grpc) } application { mainClass = "io.ktor.server.netty.EngineMain" } rpc { protoc() } kotlin { jvmToolchain(21) } dependencies { implementation(ktorLibs.client.core) implementation(ktorLibs.serialization.kotlinx.json) implementation(ktorLibs.server.auth) implementation(ktorLibs.server.config.yaml) implementation(ktorLibs.server.contentNegotiation) implementation(ktorLibs.server.core) implementation(ktorLibs.server.di) implementation(ktorLibs.server.netty) implementation(ktorLibs.server.routingOpenapi) implementation(ktorLibs.server.sessions) implementation(ktorLibs.server.swagger) implementation(libs.exposed.core) implementation(libs.exposed.r2dbc) implementation(libs.flaxoos.ktor.server.kafka) implementation(libs.flaxoos.ktor.server.rateLimiting) implementation(libs.grpc.netty) implementation(libs.h2database.h2) implementation(libs.h2database.r2dbc) implementation(libs.kotlinx.rpc.grpc.ktorServer) implementation(libs.logback.classic) implementation(project(":core")) testImplementation(kotlin("test")) testImplementation(ktorLibs.server.testHost) testImplementation(libs.kotlinx.rpc.grpc.client) }