diff --git a/build.gradle.kts b/build.gradle.kts index 982f1ad7..885631fc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,6 +11,7 @@ plugins { alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.qa) alias(libs.plugins.dokka) + alias(libs.plugins.kotlin.serialization) } group = "io.github.smartoperatingblock" @@ -21,6 +22,12 @@ repositories { dependencies { implementation(libs.kotlin.stdlib) + implementation(libs.ktor.server.core) + implementation(libs.ktor.server.netty) + implementation(libs.ktor.server.swagger) + implementation(libs.ktor.content.negotiation) + implementation(libs.ktor.serialization) + implementation(libs.logback) testImplementation(libs.bundles.kotlin.testing) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d49a7cab..02ce9126 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,7 @@ [versions] kotlin = "1.8.10" kotest = "5.5.5" +ktor = "2.2.2" [libraries] archunit = { module = "com.tngtech.archunit:archunit-junit5", version = "1.0.1" } @@ -8,11 +9,19 @@ kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = " kotest-junit5 = { module = "io.kotest:kotest-runner-junit5", version.ref = "kotest" } kotest-assertions-core = { module = "io.kotest:kotest-assertions-core", version.ref = "kotest" } kotest-assertions-core-jvm = { module = "io.kotest:kotest-assertions-core-jvm", version.ref = "kotest" } +ktor-server-core = { module = "io.ktor:ktor-server-core", version.ref = "ktor" } +ktor-server-netty = { module = "io.ktor:ktor-server-netty", version.ref = "ktor" } +ktor-server-swagger = { module = "io.ktor:ktor-server-swagger", version.ref = "ktor" } +ktor-content-negotiation = { module = "io.ktor:ktor-server-content-negotiation", version.ref = "ktor" } +ktor-serialization = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" } +ktor-test = { module = "io.ktor:ktor-server-test-host", version.ref = "ktor" } +logback = { module = "ch.qos.logback:logback-classic", version = "1.4.5" } [bundles] -kotlin-testing = ["archunit", "kotest-junit5", "kotest-assertions-core", "kotest-assertions-core-jvm"] +kotlin-testing = ["archunit", "kotest-junit5", "kotest-assertions-core", "kotest-assertions-core-jvm", "ktor-test"] [plugins] dokka = { id ="org.jetbrains.dokka", version = "1.7.20" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-qa = { id = "org.danilopianini.gradle-kotlin-qa", version = "0.34.2" } +kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }