import org.gradle.kotlin.dsl.support.* import org.jetbrains.kotlin.gradle.dsl.* import org.jetbrains.kotlin.gradle.tasks.KotlinCompile /* * Copyright 2017-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ plugins { java idea kotlin("jvm") alias(libs.plugins.serialization) alias(libs.plugins.shadow) alias(libs.plugins.jmh) kotlin("kapt") // For annotation processing } java { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } jmh { jmhVersion.set("1.35") } tasks.processJmhResources { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } tasks.jmhJar { archiveBaseName.set("benchmarks") archiveVersion.set("") archiveClassifier.set("") // benchmarks.jar, not benchmarks-jmh.jar destinationDirectory.set(file("$rootDir")) } // to include benchmark-module jmh source set compilation during build to verify that it is also compiled succesfully tasks.assemble { dependsOn(tasks.jmhClasses) } kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 if (overriddenLanguageVersion != null) { languageVersion = KotlinVersion.fromVersion(overriddenLanguageVersion!!) freeCompilerArgs.add("-Xsuppress-version-warnings") } } } dependencies { implementation(libs.jmhCore) implementation(libs.guava) implementation(libs.jackson.databind) implementation(libs.jackson.module.kotlin) implementation(libs.okio) implementation(libs.kotlinx.io) implementation(project(":kotlinx-serialization-core")) implementation(project(":kotlinx-serialization-cbor")) implementation(project(":kotlinx-serialization-json")) implementation(project(":kotlinx-serialization-json-okio")) implementation(project(":kotlinx-serialization-json-io")) implementation(project(":kotlinx-serialization-protobuf")) // Moshi implementation(libs.moshi.kotlin) kapt(libs.moshi.codegen) }