/** * 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" }