Generate proper benchmarks jar
diff --git a/benchmarks/build.gradle b/benchmarks/build.gradle
index 0b38142..cb0ef34 100644
--- a/benchmarks/build.gradle
+++ b/benchmarks/build.gradle
@@ -2,26 +2,26 @@
  * Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
  */
 
-plugins {
-    id "me.champeau.gradle.jmh" version "0.4.4"
-}
+apply plugin: "net.ltgt.apt"
+apply plugin: "com.github.johnrengelman.shadow"
+apply plugin: "me.champeau.gradle.jmh"
 
 repositories {
     maven { url "http://repo.typesafe.com/typesafe/releases/" }
 }
 
-dependencies {
-    jmh 'com.typesafe.akka:akka-actor_2.12:2.5.0'
-    jmh project(':kotlinx-coroutines-core-common')
-    jmh project(':kotlinx-coroutines-core')
-    jmh project(':kotlinx-coroutines-core').sourceSets.test.output
+jmh.jmhVersion = '1.21'
+
+jmhJar {
+    baseName 'benchmarks'
+    classifier = null
+    version = null
 }
 
-jmh.jmhVersion = '1.19'
-
-jmhJar.archiveName = 'benchmarks.jar'
-
-//jmh {
-//    include = ['.*Channel.*Benchmark']
-//    exclude = ['.*Guice.*', '.*PingPong.*']
-//}
\ No newline at end of file
+dependencies {
+    compile 'com.typesafe.akka:akka-actor_2.12:2.5.0'
+    compile project(':kotlinx-coroutines-core-common')
+    compile project(':kotlinx-coroutines-core')
+    compile project(':kotlinx-coroutines-core').sourceSets.test.output
+    compile "org.openjdk.jmh:jmh-core:1.21"
+}
diff --git a/build.gradle b/build.gradle
index 116af20..f72f9be 100644
--- a/build.gradle
+++ b/build.gradle
@@ -36,6 +36,11 @@
         classpath "org.jetbrains.kotlinx:atomicfu-gradle-plugin:$atomicFU_version"
         classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:$bintray_version"
         classpath "com.moowork.gradle:gradle-node-plugin:$gradle_node_version"
+
+        // JMH plugins
+        classpath "com.github.jengelman.gradle.plugins:shadow:2.0.2"
+        classpath "me.champeau.gradle:jmh-gradle-plugin:0.4.7"
+        classpath "net.ltgt.gradle:gradle-apt-plugin:0.10"
     }
 }