| /* |
| * Copyright 2016-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. |
| */ |
| |
| apply plugin: "com.github.johnrengelman.shadow" |
| |
| // apply plugin to use autocomplete for Kover DSL |
| apply plugin: 'org.jetbrains.kotlinx.kover' |
| |
| configurations { |
| shadowDeps // shaded dependencies, not included into the resulting .pom file |
| compileOnly.extendsFrom(shadowDeps) |
| runtimeOnly.extendsFrom(shadowDeps) |
| } |
| |
| dependencies { |
| compileOnly "junit:junit:$junit_version" |
| compileOnly "org.junit.jupiter:junit-jupiter-api:$junit5_version" |
| testImplementation "org.junit.jupiter:junit-jupiter-engine:$junit5_version" |
| testImplementation "org.junit.platform:junit-platform-testkit:1.7.0" |
| shadowDeps "net.bytebuddy:byte-buddy:$byte_buddy_version" |
| shadowDeps "net.bytebuddy:byte-buddy-agent:$byte_buddy_version" |
| compileOnly "io.projectreactor.tools:blockhound:$blockhound_version" |
| testImplementation "io.projectreactor.tools:blockhound:$blockhound_version" |
| testImplementation "com.google.code.gson:gson:2.8.6" |
| api "net.java.dev.jna:jna:$jna_version" |
| api "net.java.dev.jna:jna-platform:$jna_version" |
| } |
| |
| java { |
| /* This is needed to be able to run JUnit5 tests. Otherwise, Gradle complains that it can't find the |
| JVM1.6-compatible version of the `junit-jupiter-api` artifact. */ |
| disableAutoTargetJvm() |
| } |
| |
| // This is required for BlockHound tests to work, see https://github.com/Kotlin/kotlinx.coroutines/issues/3701 |
| tasks.withType(Test).configureEach { |
| if (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_13)) { |
| jvmArgs += ["-XX:+AllowRedefinitionToAddDeleteMethods"] |
| } |
| } |
| |
| jar { |
| setEnabled(false) |
| } |
| |
| def shadowJarTask = shadowJar { |
| classifier null |
| // Shadow only byte buddy, do not package kotlin stdlib |
| configurations = [project.configurations.shadowDeps] |
| relocate('net.bytebuddy', 'kotlinx.coroutines.repackaged.net.bytebuddy') |
| |
| manifest { |
| attributes "Premain-Class": "kotlinx.coroutines.debug.AgentPremain" |
| attributes "Can-Redefine-Classes": "true" |
| } |
| } |
| |
| configurations { |
| artifacts { |
| add("apiElements", shadowJarTask) |
| add("runtimeElements", shadowJarTask) |
| } |
| } |
| |
| koverReport { |
| filters { |
| excludes { |
| // Never used, safety mechanism |
| classes("kotlinx.coroutines.debug.internal.NoOpProbesKt") |
| } |
| } |
| } |