-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle.kts
63 lines (50 loc) · 1.42 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import kotlinx.benchmark.gradle.JvmBenchmarkTarget
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.kotlinx.benchmark)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.kotlin.allopen)
}
allOpen {
annotation("org.openjdk.jmh.annotations.State")
annotation("kotlinx.benchmark.State")
}
kotlin {
jvm()
macosArm64()
js(IR) {
browser()
nodejs()
}
@OptIn(ExperimentalWasmDsl::class)
wasmJs {
browser()
nodejs()
}
applyDefaultHierarchyTemplate()
sourceSets {
commonMain.dependencies {
implementation(libs.kotlinx.benchmark.runtime)
implementation(project(":kotlinx-serialization-smile-core"))
implementation(project(":kotlinx-serialization-smile-test"))
}
jvmMain.dependencies {
implementation(libs.jackson.dataformat.smile)
implementation(libs.jackson.module.kotlin)
implementation(libs.kotlin.reflect)
}
jsMain.dependencies { }
nativeMain { }
}
}
benchmark {
targets.register("jvm") {
this as JvmBenchmarkTarget
jmhVersion = "1.37" // TODO: remove once kotlinx.benchmark updates bundled JMH
}
targets.register("js")
targets.register("wasmJs")
// not working for some reason
targets.register("macosArm64")
}