• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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>null9 plugins {
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>null19 java {
20     sourceCompatibility = JavaVersion.VERSION_1_8
21     targetCompatibility = JavaVersion.VERSION_1_8
22 }
23 
<lambda>null24 jmh {
25     jmhVersion.set("1.35")
26 }
27 
<lambda>null28 tasks.processJmhResources {
29     duplicatesStrategy = DuplicatesStrategy.EXCLUDE
30 }
31 
<lambda>null32 tasks.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>null40 tasks.assemble {
41     dependsOn(tasks.jmhClasses)
42 }
43 
<lambda>null44 kotlin {
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>null54 dependencies {
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