1plugins {
2    id 'me.champeau.gradle.jmh' version '0.3.1'
3}
4
5apply plugin: 'idea'
6
7description = 'Conscrypt: OpenJDK Benchmarks'
8
9jmh {
10    jmhVersion = "$jmhVersion"
11    warmupIterations = 10
12    iterations = 10
13    fork = 1
14    jvmArgs = '-server -Xms2g -Xmx2g'
15    duplicateClassesStrategy = 'warn'
16}
17
18configurations {
19    jmhGenerators
20}
21
22dependencies {
23    compile project(':conscrypt-testing'),
24            libraries.guava,
25            libraries.junit,
26            libraries.netty_handler,
27            libraries.netty_tcnative
28
29    // Add the preferred native openjdk configuration for this platform.
30    compile project(
31            path: ':conscrypt-openjdk',
32            configuration: project(':conscrypt-openjdk').preferredNativeConfiguration)
33
34    jmh libraries.jmh_core
35
36    jmhGenerators libraries.jmh_generator_asm,
37            libraries.jmh_generator_bytecode,
38            libraries.jmh_generator_reflection,
39            libraries.jmh_generator_annprocess
40}
41
42// Running benchmarks in IntelliJ seems broken without this.
43// See https://github.com/melix/jmh-gradle-plugin/issues/39
44idea.module {
45    scopes.PROVIDED.plus += [ configurations.jmh, configurations.jmhGenerators ]
46}
47