import com.github.jengelman.gradle.plugins.shadow.transformers.DontIncludeResourceTransformer
import com.github.jengelman.gradle.plugins.shadow.transformers.IncludeResourceTransformer

apply plugin: 'java-library'
apply plugin: 'org.jetbrains.kotlin.jvm'
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'me.champeau.gradle.jmh'

jmhJar {
  def excludeAllBenchmarkLists = new DontIncludeResourceTransformer()
  excludeAllBenchmarkLists.resource = "META-INF/BenchmarkList"
  transform(excludeAllBenchmarkLists)

  def includeCorrectBenchmarkList = new IncludeResourceTransformer()
  includeCorrectBenchmarkList.resource = "META-INF/BenchmarkList"
  includeCorrectBenchmarkList.file = new File("${project.buildDir}/jmh-generated-resources/META-INF/BenchmarkList")
  transform(includeCorrectBenchmarkList)
}

jmh {
  jvmArgs = ['-Djmh.separateClasspathJAR=true']
  include = ['com\\.squareup\\.okio\\.benchmarks\\.MessageDigestBenchmark.*']
  duplicateClassesStrategy = 'warn'
}

dependencies {
  compile project(':okio')
  compile deps.kotlin.stdLib.jdk6
  compile deps.jmh.core
  jmh project(path: ':okio', configuration: 'jvmRuntimeElements')
  jmh deps.kotlin.stdLib.jdk6
  jmh deps.jmh.core
  jmh deps.jmh.generator
}

assemble.dependsOn(jmhJar)
