Files
Ktor_Server_Demo/build.gradle.kts
T

73 lines
2.6 KiB
Kotlin

@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)
}