1*57b5a4a6SAndroid Build Coastguard Workerimport org.jetbrains.kotlin.gradle.tasks.KotlinCompile 2*57b5a4a6SAndroid Build Coastguard Worker 3*57b5a4a6SAndroid Build Coastguard Worker/* 4*57b5a4a6SAndroid Build Coastguard Worker * Copyright 2017-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 5*57b5a4a6SAndroid Build Coastguard Worker */ 6*57b5a4a6SAndroid Build Coastguard Worker 7*57b5a4a6SAndroid Build Coastguard Workerapply plugin: 'java' 8*57b5a4a6SAndroid Build Coastguard Workerapply plugin: 'kotlin' 9*57b5a4a6SAndroid Build Coastguard Workerapply plugin: 'kotlinx-serialization' 10*57b5a4a6SAndroid Build Coastguard Workerapply plugin: 'idea' 11*57b5a4a6SAndroid Build Coastguard Workerapply plugin: 'com.github.johnrengelman.shadow' 12*57b5a4a6SAndroid Build Coastguard Workerapply plugin: 'me.champeau.jmh' 13*57b5a4a6SAndroid Build Coastguard Worker 14*57b5a4a6SAndroid Build Coastguard WorkersourceCompatibility = 1.8 15*57b5a4a6SAndroid Build Coastguard WorkertargetCompatibility = 1.8 16*57b5a4a6SAndroid Build Coastguard Workerjmh.jmhVersion = "1.35" 17*57b5a4a6SAndroid Build Coastguard Worker 18*57b5a4a6SAndroid Build Coastguard WorkerprocessJmhResources { 19*57b5a4a6SAndroid Build Coastguard Worker doFirst { 20*57b5a4a6SAndroid Build Coastguard Worker duplicatesStrategy(DuplicatesStrategy.EXCLUDE) 21*57b5a4a6SAndroid Build Coastguard Worker } 22*57b5a4a6SAndroid Build Coastguard Worker} 23*57b5a4a6SAndroid Build Coastguard Worker 24*57b5a4a6SAndroid Build Coastguard WorkerjmhJar { 25*57b5a4a6SAndroid Build Coastguard Worker archiveBaseName.set('benchmarks') 26*57b5a4a6SAndroid Build Coastguard Worker archiveVersion.set('') 27*57b5a4a6SAndroid Build Coastguard Worker destinationDirectory = file("$rootDir") 28*57b5a4a6SAndroid Build Coastguard Worker} 29*57b5a4a6SAndroid Build Coastguard Worker 30*57b5a4a6SAndroid Build Coastguard Worker// to include benchmark-module jmh source set compilation during build to verify that it is also compiled succesfully 31*57b5a4a6SAndroid Build Coastguard Workerassemble.dependsOn jmhClasses 32*57b5a4a6SAndroid Build Coastguard Worker 33*57b5a4a6SAndroid Build Coastguard Workertasks.withType(KotlinCompile).configureEach { 34*57b5a4a6SAndroid Build Coastguard Worker kotlinOptions { 35*57b5a4a6SAndroid Build Coastguard Worker if (rootProject.ext.kotlin_lv_override != null) { 36*57b5a4a6SAndroid Build Coastguard Worker languageVersion = rootProject.ext.kotlin_lv_override 37*57b5a4a6SAndroid Build Coastguard Worker freeCompilerArgs += "-Xsuppress-version-warnings" 38*57b5a4a6SAndroid Build Coastguard Worker } 39*57b5a4a6SAndroid Build Coastguard Worker } 40*57b5a4a6SAndroid Build Coastguard Worker} 41*57b5a4a6SAndroid Build Coastguard Worker 42*57b5a4a6SAndroid Build Coastguard Workerdependencies { 43*57b5a4a6SAndroid Build Coastguard Worker implementation 'org.openjdk.jmh:jmh-core:1.35' 44*57b5a4a6SAndroid Build Coastguard Worker implementation 'com.google.guava:guava:31.1-jre' 45*57b5a4a6SAndroid Build Coastguard Worker implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.3' 46*57b5a4a6SAndroid Build Coastguard Worker implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.13.3' 47*57b5a4a6SAndroid Build Coastguard Worker implementation "com.squareup.okio:okio:$okio_version" 48*57b5a4a6SAndroid Build Coastguard Worker implementation project(':kotlinx-serialization-core') 49*57b5a4a6SAndroid Build Coastguard Worker implementation project(':kotlinx-serialization-json') 50*57b5a4a6SAndroid Build Coastguard Worker implementation project(':kotlinx-serialization-json-okio') 51*57b5a4a6SAndroid Build Coastguard Worker implementation project(':kotlinx-serialization-protobuf') 52*57b5a4a6SAndroid Build Coastguard Worker} 53