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("com.github.johnrengelman.shadow") 8 id("me.champeau.jmh") 9 } 10 <lambda>null11repositories { 12 maven("https://repo.typesafe.com/typesafe/releases/") 13 } 14 <lambda>null15java { 16 sourceCompatibility = JavaVersion.VERSION_1_8 17 targetCompatibility = JavaVersion.VERSION_1_8 18 } 19 <lambda>null20tasks.named<KotlinCompile>("compileJmhKotlin") { 21 compilerOptions { 22 jvmTarget = JvmTarget.JVM_1_8 23 freeCompilerArgs.add("-Xjvm-default=all") 24 } 25 } 26 <lambda>null27val jmhJarTask = tasks.named<Jar>("jmhJar") { 28 archiveBaseName = "benchmarks" 29 archiveClassifier = null 30 archiveVersion = null 31 archiveVersion.convention(null as String?) 32 destinationDirectory = rootDir 33 } 34 <lambda>null35tasks { 36 // For some reason the DuplicatesStrategy from jmh is not enough 37 // and errors with duplicates appear unless I force it to WARN only: 38 withType<Copy> { 39 duplicatesStrategy = DuplicatesStrategy.WARN 40 } 41 42 build { 43 dependsOn(jmhJarTask) 44 } 45 } 46 <lambda>null47dependencies { 48 implementation("org.openjdk.jmh:jmh-core:1.35") 49 implementation("io.projectreactor:reactor-core:${version("reactor")}") 50 implementation("io.reactivex.rxjava2:rxjava:2.1.9") 51 implementation("com.github.akarnokd:rxjava2-extensions:0.20.8") 52 53 implementation("com.typesafe.akka:akka-actor_2.12:2.5.0") 54 implementation(project(":kotlinx-coroutines-core")) 55 implementation(project(":kotlinx-coroutines-debug")) 56 implementation(project(":kotlinx-coroutines-reactive")) 57 58 // add jmh dependency on main 59 "jmhImplementation"(sourceSets.main.get().runtimeClasspath) 60 } 61