88 lines
2.4 KiB
Kotlin
88 lines
2.4 KiB
Kotlin
plugins {
|
|
java
|
|
`java-library`
|
|
jacoco
|
|
id("io.freefair.lombok")
|
|
id("de.siphalor.tweed5.publishing")
|
|
id("de.siphalor.tweed5.local-runtime-only")
|
|
id("de.siphalor.tweed5.expanded-sources-jar")
|
|
}
|
|
|
|
java {
|
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
targetCompatibility = JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
val testAgent = configurations.dependencyScope("mockitoAgent")
|
|
val testAgentClasspath = configurations.resolvable("testAgentClasspath") {
|
|
isTransitive = false
|
|
extendsFrom(testAgent.get())
|
|
}
|
|
|
|
lombok {
|
|
version = libs.versions.lombok.get()
|
|
}
|
|
|
|
dependencies {
|
|
compileOnly(libs.autoservice.annotations)
|
|
annotationProcessor(libs.autoservice.processor)
|
|
testCompileOnly(libs.autoservice.annotations)
|
|
testAnnotationProcessor(libs.autoservice.processor)
|
|
|
|
compileOnly(libs.jetbrains.annotations)
|
|
testImplementation(libs.jetbrains.annotations)
|
|
compileOnly(libs.jspecify.annotations)
|
|
testImplementation(libs.jspecify.annotations)
|
|
|
|
implementation(libs.acl)
|
|
"localRuntimeOnly"(libs.slf4j.rt)
|
|
testImplementation(libs.acl)
|
|
testImplementation(libs.slf4j.rt)
|
|
|
|
testImplementation(platform(libs.junit.platform))
|
|
testImplementation(libs.junit.core)
|
|
testRuntimeOnly(libs.junit.launcher)
|
|
testImplementation(libs.mockito)
|
|
testAgent(libs.mockito)
|
|
testImplementation(libs.assertj)
|
|
testImplementation(project(":generic-test-utils"))
|
|
}
|
|
|
|
tasks.compileTestJava {
|
|
sourceCompatibility = libs.versions.java.test.get()
|
|
targetCompatibility = libs.versions.java.test.get()
|
|
}
|
|
|
|
tasks.test {
|
|
val testAgentFiles = testAgentClasspath.map { it.files }
|
|
doFirst {
|
|
jvmArgs(testAgentFiles.get().map { file -> "-javaagent:${file.absolutePath}" })
|
|
}
|
|
dependsOn(testAgentClasspath)
|
|
finalizedBy(tasks.jacocoTestReport)
|
|
|
|
useJUnitPlatform()
|
|
systemProperties(
|
|
"junit.jupiter.execution.timeout.mode" to "disabled_on_debug",
|
|
"junit.jupiter.execution.timeout.testable.method.default" to "10s",
|
|
"junit.jupiter.execution.timeout.thread.mode.default" to "SEPARATE_THREAD",
|
|
)
|
|
}
|
|
|
|
tasks.jacocoTestReport {
|
|
dependsOn(tasks.test)
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
create<MavenPublication>("lib") {
|
|
groupId = project.group.toString()
|
|
artifactId = project.name
|
|
version = project.version.toString()
|
|
|
|
from(components["java"])
|
|
}
|
|
}
|
|
}
|
|
|