63 lines
1.8 KiB
Plaintext
63 lines
1.8 KiB
Plaintext
plugins {
|
|
alias(libs.plugins.kotlin.jvm)
|
|
alias(ktorLibs.plugins.ktor)
|
|
id("org.jlleitschuh.gradle.ktlint") version "12.1.0"
|
|
kotlin("plugin.serialization") version "2.0.0"
|
|
}
|
|
|
|
group = "com.oliver.kidio.backend"
|
|
version = "1.0.0-SNAPSHOT"
|
|
|
|
application {
|
|
mainClass = "io.ktor.server.netty.EngineMain"
|
|
}
|
|
ktor {
|
|
openApi {
|
|
enabled = true // Aktiviert die OpenAPI-Code-Generierung
|
|
codeInferenceEnabled = true
|
|
}
|
|
}
|
|
|
|
kotlin {
|
|
jvmToolchain(21)
|
|
}
|
|
|
|
dependencies {
|
|
implementation(ktorLibs.server.config.yaml)
|
|
implementation(ktorLibs.server.core)
|
|
implementation(ktorLibs.server.netty)
|
|
implementation("io.ktor:ktor-server-openapi")
|
|
// JWT Authentication
|
|
implementation("io.ktor:ktor-server-auth")
|
|
implementation("io.ktor:ktor-server-auth-jwt")
|
|
|
|
implementation(libs.logback.classic)
|
|
|
|
// Bcrypt
|
|
implementation("org.mindrot:jbcrypt:0.4")
|
|
|
|
// JSON-Unterstützung und Serialization
|
|
implementation("io.ktor:ktor-server-content-negotiation-jvm")
|
|
implementation("io.ktor:ktor-serialization-kotlinx-json-jvm")
|
|
|
|
// postgres
|
|
implementation("org.postgresql:postgresql:42.7.3")
|
|
implementation("org.jetbrains.exposed:exposed-core:0.50.0")
|
|
implementation("org.jetbrains.exposed:exposed-dao:0.50.0")
|
|
implementation("org.jetbrains.exposed:exposed-jdbc:0.50.0")
|
|
|
|
testImplementation(kotlin("test"))
|
|
testImplementation(ktorLibs.server.testHost)
|
|
|
|
// redis
|
|
implementation("redis.clients:jedis:5.1.2")
|
|
}
|
|
|
|
tasks.register<JavaExec>("runIngestion") {
|
|
group = "application"
|
|
description = "Runs the standalone H5P/ZUM task ingestion CLI tool"
|
|
mainClass.set("com.oliver.kidio.backend.ingestion.H5PIngestionCli")
|
|
classpath = sourceSets["main"].runtimeClasspath
|
|
standardInput = System.`in`
|
|
}
|