61 lines
1.3 KiB
Groovy
61 lines
1.3 KiB
Groovy
/**
|
|
* This module provides a base for for pure kotlin modules
|
|
*/
|
|
apply plugin: 'kotlin'
|
|
apply plugin: 'kotlin-kapt'
|
|
apply plugin: 'jacoco'
|
|
apply from: "${project.rootDir}/gradle_scripts/code_quality.gradle"
|
|
|
|
sourceSets {
|
|
main.java.srcDirs += "${projectDir}/src/main/kotlin"
|
|
test.java.srcDirs += "${projectDir}/src/test/kotlin"
|
|
test.java.srcDirs += "${projectDir}/src/integrationTest/kotlin"
|
|
test.resources.srcDirs += "${projectDir}/src/integrationTest/resources"
|
|
}
|
|
|
|
|
|
dependencies {
|
|
api other.kotlinStdlib
|
|
|
|
testImplementation testing.junit
|
|
testRuntimeOnly testing.junitVintage
|
|
}
|
|
|
|
jacoco {
|
|
toolVersion(versions.jacoco)
|
|
}
|
|
|
|
ext {
|
|
// override it in the module
|
|
jacocoExclude = ['jdk.internal.*']
|
|
}
|
|
|
|
jacocoTestReport {
|
|
reports {
|
|
html.enabled true
|
|
csv.enabled false
|
|
xml.enabled true
|
|
}
|
|
|
|
afterEvaluate {
|
|
getClassDirectories().setFrom(files(classDirectories.files.collect {
|
|
fileTree(dir: it, excludes: jacocoExclude)
|
|
}))
|
|
}
|
|
}
|
|
|
|
tasks.named("test").configure {
|
|
useJUnitPlatform()
|
|
jacoco {
|
|
excludes += jacocoExclude
|
|
includeNoLocationClasses = true
|
|
}
|
|
finalizedBy jacocoTestReport
|
|
}
|
|
|
|
tasks.register("ciTest") {
|
|
dependsOn test
|
|
group = "Verification"
|
|
description = "Special task for CI that calls all tests in pure kotlin modules"
|
|
}
|