val kotlin_version: String by project val ktor_version: String by project val logback_version: String by project val exposed_version: String by project plugins { kotlin("jvm") version "2.0.20" id("io.ktor.plugin") version "2.3.12" kotlin("plugin.serialization") version "1.9.23" // Aggiungi il plugin di Serialization } group = "eu.maiora" version = "0.0.1" application { mainClass.set("eu.maiora.ApplicationKt") val isDevelopment: Boolean = project.ext.has("development") applicationDefaultJvmArgs = listOf("-Dio.ktor.development=$isDevelopment") } repositories { mavenCentral() } dependencies { implementation("io.ktor:ktor-server-core-jvm") implementation("io.ktor:ktor-server-netty-jvm") implementation("io.ktor:ktor-client-core:$ktor_version") // Core del client implementation("io.ktor:ktor-client-cio:$ktor_version") // Motore CIO per il client implementation("ch.qos.logback:logback-classic:$logback_version") implementation("io.ktor:ktor-serialization-kotlinx-json:$ktor_version") // Per usare Kotlinx Serialization con JSON implementation("io.ktor:ktor-server-content-negotiation:$ktor_version") // Per il supporto a content negotiation implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.15.2") // Jackson per Kotlin implementation("org.postgresql:postgresql:42.7.2") implementation("io.ktor:ktor-server-call-logging:$ktor_version") implementation("io.ktor:ktor-server-cors:$ktor_version") implementation("org.jetbrains.exposed:exposed-jdbc:0.55.0") implementation("org.jetbrains.exposed:exposed-dao:$exposed_version") implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.1") implementation ("org.jetbrains.exposed:exposed-java-time:$exposed_version") testImplementation("io.ktor:ktor-server-test-host-jvm") testImplementation("org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version") }