mudasar187
12/21/2022, 11:04 AMbuild.gradle.kts
with jacoco plugin.
import org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.openapitools.generator.gradle.plugin.tasks.GenerateTask
plugins {
kotlin("jvm") version "1.7.22"
kotlin("plugin.serialization") version "1.7.22"
id("org.openapi.generator") version "6.2.1"
id("io.ktor.plugin") version "2.2.1"
jacoco
}
group = "no.nav.sokos"
java.sourceCompatibility = JavaVersion.VERSION_17
repositories {
mavenCentral()
maven { url = uri("<https://maven.pkg.jetbrains.space/public/p/ktor/eap>") }
}
val ktorVersion = "2.2.1"
val junitJupiterVersion = "5.9.1"
val logbackVersion = "1.4.5"
val logstashVersion = "7.2"
val jacksonVersion = "2.14.1"
val prometheusVersion = "1.10.2"
val kotlinLoggingVersion = "3.0.4"
val janionVersion = "3.1.9"
val natpryceVersion = "1.6.10.0"
val kotestVersion = "5.5.4"
dependencies {
// Ktor server
implementation("io.ktor:ktor-server-core-jvm:$ktorVersion")
implementation("io.ktor:ktor-server-call-logging-jvm:$ktorVersion")
implementation("io.ktor:ktor-server-call-id-jvm:$ktorVersion")
implementation("io.ktor:ktor-server-netty-jvm:$ktorVersion")
implementation("io.ktor:ktor-server-status-pages:$ktorVersion")
implementation("io.ktor:ktor-server-content-negotiation-jvm:$ktorVersion")
// Ktor client
implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion")
implementation("io.ktor:ktor-client-core-jvm:$ktorVersion")
implementation("io.ktor:ktor-client-apache-jvm:$ktorVersion")
implementation("io.ktor:ktor-serialization-jackson-jvm:$ktorVersion")
// Security
implementation("io.ktor:ktor-server-auth-jvm:$ktorVersion")
implementation("io.ktor:ktor-server-auth-jwt-jvm:$ktorVersion")
// Jackson
implementation("io.ktor:ktor-serialization-jackson:$ktorVersion")
implementation("com.fasterxml.jackson.core:jackson-databind:$jacksonVersion")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:$jacksonVersion")
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonVersion")
implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-xml:$jacksonVersion")
// Monitorering
implementation("io.ktor:ktor-server-metrics-micrometer-jvm:$ktorVersion")
implementation("io.micrometer:micrometer-registry-prometheus:$prometheusVersion")
// Logging
implementation("io.github.microutils:kotlin-logging-jvm:$kotlinLoggingVersion")
runtimeOnly("org.codehaus.janino:janino:$janionVersion")
runtimeOnly("ch.qos.logback:logback-classic:$logbackVersion")
runtimeOnly("net.logstash.logback:logstash-logback-encoder:$logstashVersion")
// Config
implementation("com.natpryce:konfig:$natpryceVersion")
// Test
testImplementation("io.kotest:kotest-assertions-core-jvm:$kotestVersion")
testImplementation("io.kotest:kotest-runner-junit5:$kotestVersion")
testImplementation("io.kotest:kotest-assertions-core:$kotestVersion")
}
sourceSets {
main {
java {
srcDirs("$buildDir/generated/src/main/kotlin")
}
}
}
application {
mainClass.set("no.nav.sokos.skattekort.person.ApplicationKt")
}
tasks {
withType<GenerateTask> {
generatorName.set("kotlin")
generateModelDocumentation.set(false)
inputSpec.set("$rootDir/specs/sokos-skattekort-person-v1-swagger.json")
outputDir.set("$buildDir/generated")
globalProperties.set(
mapOf(
"models" to ""
)
)
configOptions.set(
mapOf(
"library" to "jvm-ktor",
"serializationLibrary" to "jackson"
)
)
}
withType().named("buildFatJar") {
ktor {
fatJar {
archiveFileName.set("app.jar")
}
}
}
withType().named("jar") {
enabled = false
}
withType<KotlinCompile> {
dependsOn("openApiGenerate")
kotlinOptions.jvmTarget = "17"
}
withType<Test> {
useJUnitPlatform()
testLogging {
exceptionFormat = FULL
events("passed", "skipped", "failed")
}
// For å øke hastigheten på build kan vi benytte disse metodene
maxParallelForks = Runtime.getRuntime().availableProcessors() / 2
reports.forEach { report -> report.required.value(false) }
finalizedBy("jacocoTestReport")
}
withType<JacocoReport> {
dependsOn(":test")
reports {
xml.required.set(false)
csv.required.set(false)
html.required.set(true)
html.outputLocation.set(layout.buildDirectory.dir("jacoco"))
}
}
withType<Wrapper> {
gradleVersion = "7.6"
}
}
When i run my tests it generate a output html. When i open this file i see this error:
Why cant I see the source file with the code?