-
Notifications
You must be signed in to change notification settings - Fork 20
/
build.gradle.kts
80 lines (69 loc) · 1.88 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import kotlinx.benchmark.gradle.KotlinJvmBenchmarkTarget
import kotlinx.benchmark.gradle.benchmark
plugins {
buildsrc.plugins.`kmp-js`
buildsrc.plugins.`kmp-jvm`
buildsrc.plugins.`kmp-native`
buildsrc.plugins.publishing
id("org.jetbrains.kotlinx.benchmark")
id("org.jetbrains.dokka")
}
group = "io.github.quillraven.fleks"
version = "2.11-SNAPSHOT"
kotlin {
jvm {
compilations {
val main by getting
// custom benchmark compilation
val benchmarks by creating { associateWith(main) }
benchmark.targets.add(
KotlinJvmBenchmarkTarget(benchmark, benchmarks.defaultSourceSet.name, benchmarks)
)
}
}
sourceSets {
all {
// WASM: for bitArray.kt Long::countLeadingZeroBits
languageSettings.optIn("kotlin.ExperimentalStdlibApi")
}
commonMain {
dependencies {
implementation(libs.kotlinxSerialization.json)
}
}
commonTest {
dependencies {
implementation(kotlin("test"))
}
}
val jvmBenchmarks by getting {
dependencies {
implementation(libs.kotlinxBenchmark.runtime)
implementation(libs.ashley)
implementation(libs.artemisOdb)
}
}
}
}
benchmark {
configurations {
create("FleksOnly") {
exclude("Artemis|Ashley")
}
create("FleksAddRemoveOnly") {
include("addRemove")
exclude("Artemis|Ashley")
}
create("FleksSimpleOnly") {
include("simple")
exclude("Artemis|Ashley")
}
create("FleksComplexOnly") {
include("complex")
exclude("Artemis|Ashley")
}
}
}
tasks.javadocJar {
from(tasks.dokkaHtml)
}