1 @file:Suppress("UnstableApiUsage") 2 3 import org.jetbrains.kotlin.gradle.tasks.* 4 import org.jetbrains.kotlin.gradle.dsl.JvmTarget 5 <lambda>null6plugins { 7 id("me.champeau.jmh") 8 } 9 <lambda>null10repositories { 11 maven("https://repo.typesafe.com/typesafe/releases/") 12 } 13 <lambda>null14java { 15 sourceCompatibility = JavaVersion.VERSION_1_8 16 targetCompatibility = JavaVersion.VERSION_1_8 17 } 18 <lambda>null19tasks.named<KotlinCompile>("compileJmhKotlin") { 20 compilerOptions { 21 jvmTarget = JvmTarget.JVM_1_8 22 freeCompilerArgs.add("-Xjvm-default=all") 23 } 24 } 25 <lambda>null26val jmhJarTask = tasks.named<Jar>("jmhJar") { 27 archiveBaseName = "benchmarks" 28 archiveClassifier = null 29 archiveVersion = null 30 archiveVersion.convention(null as String?) 31 destinationDirectory = rootDir 32 } 33 <lambda>null34tasks { 35 // For some reason the DuplicatesStrategy from jmh is not enough 36 // and errors with duplicates appear unless I force it to WARN only: 37 withType<Copy> { 38 duplicatesStrategy = DuplicatesStrategy.WARN 39 } 40 41 build { 42 dependsOn(jmhJarTask) 43 } 44 } 45 <lambda>null46dependencies { 47 implementation("org.openjdk.jmh:jmh-core:1.35") 48 implementation("io.projectreactor:reactor-core:${version("reactor")}") 49 implementation("io.reactivex.rxjava2:rxjava:2.1.9") 50 implementation("com.github.akarnokd:rxjava2-extensions:0.20.8") 51 52 implementation("com.typesafe.akka:akka-actor_2.12:2.5.0") 53 implementation(project(":kotlinx-coroutines-core")) 54 implementation(project(":kotlinx-coroutines-debug")) 55 implementation(project(":kotlinx-coroutines-reactive")) 56 57 // add jmh dependency on main 58 "jmhImplementation"(sourceSets.main.get().runtimeClasspath) 59 } 60