kotlin-server.libraries.ktor.build.gradle.mustache Maven / Gradle / Ivy
group "{{groupId}}"
version "{{artifactVersion}}"
{{^omitGradleWrapper}}
wrapper {
gradleVersion = "7.4.2"
distributionUrl = "https://services.gradle.org/distributions/gradle-$gradleVersion-all.zip"
}
{{/omitGradleWrapper}}
buildscript {
ext.kotlin_version = "1.7.20"
ext.ktor_version = "2.2.1"
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 = "{{artifactId}}"
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.9")
{{#hasAuthMethods}}
implementation("com.typesafe:config:1.4.1")
{{/hasAuthMethods}}
implementation("io.ktor:ktor-server-auth:$ktor_version")
{{#hasAuthMethods}}
implementation("io.ktor:ktor-client-apache:$ktor_version")
{{/hasAuthMethods}}
{{#featureAutoHead}}
implementation("io.ktor:ktor-server-auto-head-response:$ktor_version")
{{/featureAutoHead}}
implementation("io.ktor:ktor-server-default-headers:$ktor_version")
implementation("io.ktor:ktor-server-content-negotiation:$ktor_version")
implementation("io.ktor:ktor-serialization-gson:$ktor_version")
{{#featureResources}}
implementation("io.ktor:ktor-server-resources:$ktor_version")
{{/featureResources}}
{{#featureHSTS}}
implementation("io.ktor:ktor-server-hsts:$ktor_version")
{{/featureHSTS}}
{{#featureCORS}}
implementation("io.ktor:ktor-server-cors:$ktor_version")
{{/featureCORS}}
{{#featureConditionalHeaders}}
implementation("io.ktor:ktor-server-conditional-headers:$ktor_version")
{{/featureConditionalHeaders}}
{{#featureCompression}}
implementation("io.ktor:ktor-server-compression:$ktor_version")
{{/featureCompression}}
{{#featureMetrics}}
implementation("io.dropwizard.metrics:metrics-core:4.1.18")
implementation("io.ktor:ktor-server-metrics:$ktor_version")
{{/featureMetrics}}
implementation("io.ktor:ktor-server-netty:$ktor_version")
testImplementation("junit:junit:4.13.2")
}