1 import org.gradle.kotlin.dsl.support.* 2 import org.jetbrains.kotlin.gradle.dsl.* 3 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile 4 5 /* 6 * Copyright 2017-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 7 */ 8 <lambda>null9plugins { 10 java 11 idea 12 kotlin("jvm") 13 alias(libs.plugins.serialization) 14 alias(libs.plugins.shadow) 15 alias(libs.plugins.jmh) 16 kotlin("kapt") // For annotation processing 17 } 18 <lambda>null19java { 20 sourceCompatibility = JavaVersion.VERSION_1_8 21 targetCompatibility = JavaVersion.VERSION_1_8 22 } 23 <lambda>null24jmh { 25 jmhVersion.set("1.35") 26 } 27 <lambda>null28tasks.processJmhResources { 29 duplicatesStrategy = DuplicatesStrategy.EXCLUDE 30 } 31 <lambda>null32tasks.jmhJar { 33 archiveBaseName.set("benchmarks") 34 archiveVersion.set("") 35 archiveClassifier.set("") // benchmarks.jar, not benchmarks-jmh.jar 36 destinationDirectory.set(file("$rootDir")) 37 } 38 39 // to include benchmark-module jmh source set compilation during build to verify that it is also compiled succesfully <lambda>null40tasks.assemble { 41 dependsOn(tasks.jmhClasses) 42 } 43 <lambda>null44kotlin { 45 compilerOptions { 46 jvmTarget = JvmTarget.JVM_1_8 47 if (overriddenLanguageVersion != null) { 48 languageVersion = KotlinVersion.fromVersion(overriddenLanguageVersion!!) 49 freeCompilerArgs.add("-Xsuppress-version-warnings") 50 } 51 } 52 } 53 <lambda>null54dependencies { 55 implementation(libs.jmhCore) 56 implementation(libs.guava) 57 implementation(libs.jackson.databind) 58 implementation(libs.jackson.module.kotlin) 59 implementation(libs.okio) 60 implementation(libs.kotlinx.io) 61 implementation(project(":kotlinx-serialization-core")) 62 implementation(project(":kotlinx-serialization-cbor")) 63 implementation(project(":kotlinx-serialization-json")) 64 implementation(project(":kotlinx-serialization-json-okio")) 65 implementation(project(":kotlinx-serialization-json-io")) 66 implementation(project(":kotlinx-serialization-protobuf")) 67 68 // Moshi 69 implementation(libs.moshi.kotlin) 70 kapt(libs.moshi.codegen) 71 } 72