diff --git a/gradle.properties b/gradle.properties index 87930caa2..9294b51fb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,4 +5,3 @@ kotlin.code.style=official # Gradle org.gradle.vfs.watch=true org.gradle.vfs.verbose=true - diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 000000000..d322e6117 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,19 @@ +[versions] +kotlin = "1.4.32" +ktor = "1.5.3" +slf4j = "1.7.30" +logback = "1.2.3" + +[libraries] +# API +ktor-server-core = { group = "io.ktor", name = "ktor-server-core", version.ref = "ktor" } +ktor-server-netty = { group = "io.ktor", name = "ktor-server-netty", version.ref = "ktor" } +ktor-jackson = { group = "io.ktor", name = "ktor-jackson", version.ref = "ktor" } +# Logging +slf4j = { group = "org.slf4j", name = "slf4j-api", version.ref = "slf4j" } +logback-classic = { group = "ch.qos.logback", name = "logback-classic", version.ref = "logback" } +logback-core = { group = "ch.qos.logback", name = "logback-core", version.ref = "logback" } + +[bundles] +ktor = [ "ktor-server-core", "ktor-server-netty", "ktor-jackson" ] +logging = [ "slf4j", "logback-classic", "logback-core" ] diff --git a/playground/build.gradle.kts b/playground/build.gradle.kts index 8b4dbe11f..060835038 100644 --- a/playground/build.gradle.kts +++ b/playground/build.gradle.kts @@ -5,6 +5,18 @@ plugins { dependencies { implementation(platform("org.jetbrains.kotlin:kotlin-bom")) implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") + + implementation(projects.lib) + + implementation(libs.bundles.ktor) + implementation(libs.bundles.logging) + testImplementation("org.jetbrains.kotlin:kotlin-test") testImplementation("org.jetbrains.kotlin:kotlin-test-junit") } + +application { + @Suppress("DEPRECATION") + mainClassName = "org.leafygreens.kompendium.playground.MainKt" + applicationDefaultJvmArgs = listOf("-Dio.ktor.development=true") // TODO I don't think this is working 😢 +} diff --git a/playground/src/main/kotlin/org/leafygreens/kompendium/playground/Main.kt b/playground/src/main/kotlin/org/leafygreens/kompendium/playground/Main.kt new file mode 100644 index 000000000..733a8cfd7 --- /dev/null +++ b/playground/src/main/kotlin/org/leafygreens/kompendium/playground/Main.kt @@ -0,0 +1,28 @@ +package org.leafygreens.kompendium.playground + +import io.ktor.application.Application +import io.ktor.application.call +import io.ktor.response.respondText +import io.ktor.routing.get +import io.ktor.routing.route +import io.ktor.routing.routing +import io.ktor.server.engine.embeddedServer +import io.ktor.server.netty.Netty + +fun main() { + embeddedServer( + Netty, + port = 8080, + module = Application::mainModule + ).start(wait = true) +} + +fun Application.mainModule() { + routing { + route("/") { + get { + call.respondText("hi") + } + } + } +} diff --git a/playground/src/main/resources/logback.xml b/playground/src/main/resources/logback.xml new file mode 100644 index 000000000..23fb4842c --- /dev/null +++ b/playground/src/main/resources/logback.xml @@ -0,0 +1,14 @@ + + + + %d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + \ No newline at end of file