| plugins { |
| // apply plugin to use autocomplete for Kover DSL |
| id("org.jetbrains.kotlinx.kover") |
| } |
| |
| val reactiveStreamsVersion = property("reactive_streams_version") |
| |
| dependencies { |
| api("org.reactivestreams:reactive-streams:$reactiveStreamsVersion") |
| testImplementation("org.reactivestreams:reactive-streams-tck:$reactiveStreamsVersion") |
| } |
| |
| val testNG by tasks.registering(Test::class) { |
| useTestNG() |
| reports.html.outputLocation = layout.buildDirectory.dir("reports/testng") |
| include("**/*ReactiveStreamTckTest.*") |
| // Skip testNG when tests are filtered with --tests, otherwise it simply fails |
| onlyIf { |
| filter.includePatterns.isEmpty() |
| } |
| doFirst { |
| // Classic gradle, nothing works without doFirst |
| println("TestNG tests: ($includes)") |
| } |
| } |
| |
| tasks.test { |
| reports.html.outputLocation = layout.buildDirectory.dir("reports/junit") |
| } |
| |
| tasks.check { |
| dependsOn(testNG) |
| } |
| |
| externalDocumentationLink( |
| url = "https://www.reactive-streams.org/reactive-streams-$reactiveStreamsVersion-javadoc/" |
| ) |
| |
| kover { |
| reports { |
| filters { |
| excludes { |
| classes( |
| "kotlinx.coroutines.reactive.FlowKt", // Deprecated |
| "kotlinx.coroutines.reactive.FlowKt__MigrationKt", // Deprecated |
| "kotlinx.coroutines.reactive.ConvertKt" // Deprecated |
| ) |
| } |
| } |
| } |
| } |