apply plugin: 'java-library' apply plugin: 'kotlin' apply plugin: 'jacoco' apply from: "${project.rootDir}/gradle_scripts/code_quality.gradle" sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 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" } test { useJUnitPlatform() } 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) })) } } test.finalizedBy jacocoTestReport test { jacoco { excludes += jacocoExclude includeNoLocationClasses = true } } tasks.create(name: "ciTest", dependsOn: "test") { group = "Verification" description = "Special task for CI that calls all tests in pure kotlin modules" }