Sascha Peilicke 463d905664
Kotlin-Server: Optional metrics and upgrade to Ktor 1.5.4 (#9358)
Use Gradle 6.9 and Kotlin 1.4.32. Generate Paths for other HTTP verbs
(#828) and fix imports (#5640). Use 'object' when no parameters are
used. Introduce 'featureMetrics' to control metrics plugin usage. Remove
HOCON configuration parsing. This is provided by
`Application.environment.config already` and removes a dependency.

Resolves #9087, resolves #828, resolves #5640
Relates-To #5346
2021-06-20 22:03:44 +08:00

70 lines
2.0 KiB
Groovy

group "org.openapitools"
version "1.0.0"
wrapper {
gradleVersion = "6.9"
distributionUrl = "https://services.gradle.org/distributions/gradle-$gradleVersion-all.zip"
}
buildscript {
ext.kotlin_version = "1.4.32"
ext.ktor_version = "1.5.4"
ext.shadow_version = "6.1.0"
repositories {
maven { url "https://repo1.maven.org/maven2" }
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
classpath("com.github.jengelman.gradle.plugins:shadow:$shadow_version")
}
}
apply plugin: "java"
apply plugin: "kotlin"
apply plugin: "application"
mainClassName = "io.ktor.server.netty.DevelopmentEngine"
// Initialization order with shadow 2.0.1 and Gradle 6.9 is weird.
// See https://github.com/johnrengelman/shadow/issues/336#issuecomment-355402508
apply plugin: "com.github.johnrengelman.shadow"
sourceCompatibility = 1.8
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
shadowJar {
baseName = "kotlin-server"
classifier = null
version = null
}
repositories {
maven { setUrl("https://repo1.maven.org/maven2") }
maven { setUrl("https://dl.bintray.com/kotlin/ktor") }
maven { setUrl("https://dl.bintray.com/kotlin/kotlinx") }
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version")
implementation("ch.qos.logback:logback-classic:1.2.1")
implementation("com.typesafe:config:1.4.1")
implementation("io.ktor:ktor-auth:$ktor_version")
implementation("io.ktor:ktor-client-apache:$ktor_version")
implementation("io.ktor:ktor-gson:$ktor_version")
implementation("io.ktor:ktor-locations:$ktor_version")
implementation("io.dropwizard.metrics:metrics-core:4.1.18")
implementation("io.ktor:ktor-metrics:$ktor_version")
implementation("io.ktor:ktor-server-netty:$ktor_version")
testImplementation("junit:junit:4.13.2")
}