-
Notifications
You must be signed in to change notification settings - Fork 2
/
build.gradle.kts
73 lines (68 loc) · 2.29 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
import com.vanniktech.maven.publish.SonatypeHost
plugins {
alias(libs.plugins.org.jetbrains.kotlin.multiplatform)
alias(libs.plugins.org.jetbrains.kotlin.plugin.serialization)
alias(libs.plugins.com.vanniktech.maven.publish)
}
group = project.property("GROUP") as String
version = project.property("VERSION_NAME") as String
object Targets {
val iosTargets = arrayOf<String>()
val macosTargets = arrayOf("macosX64", "macosArm64")
val darwinTargets = iosTargets + macosTargets
val linuxTargets = arrayOf<String>()
val mingwTargets = arrayOf<String>()
val nativeTargets = linuxTargets + darwinTargets + mingwTargets
}
kotlin {
jvm()
for (target in Targets.nativeTargets) {
targets.add(presets.getByName(target).createTarget(target))
}
sourceSets {
all {
languageSettings.optIn("kotlinx.coroutines.ExperimentalCoroutinesApi")
languageSettings.optIn("kotlin.ExperimentalUnsignedTypes")
}
val commonMain by getting {
dependencies {
implementation(project(":client"))
implementation(project(":secret-std-msgs"))
implementation(libs.com.squareup.okio)
implementation(libs.kotlinx.serialization.json)
implementation(libs.ktor.client.core)
implementation(libs.co.touchlab.kermit)
implementation(libs.bignum)
implementation(libs.bignum.serialization.kotlinx)
implementation(libs.io.github.luca992.getenv)
}
}
val commonTest by getting
val jvmMain by getting {
dependsOn(commonMain)
}
val jvmTest by getting {
dependsOn(commonTest)
}
val nativeMain by creating {
dependsOn(commonMain)
}
val nativeTest by creating {
dependsOn(commonTest)
}
Targets.nativeTargets.forEach { target ->
getByName("${target}Main") {
dependsOn(nativeMain)
}
getByName("${target}Test") {
dependsOn(nativeTest)
}
}
}
}
plugins.withId("com.vanniktech.maven.publish") {
mavenPublishing {
publishToMavenCentral(SonatypeHost.S01)
signAllPublications()
}
}