-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.gradle.kts
87 lines (80 loc) · 2.76 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
81
82
83
84
85
86
87
plugins {
kotlin("multiplatform") version "1.6.10"
kotlin("plugin.serialization") version "1.6.10"
id("java")
id("java-library")
id("maven-publish")
id("signing")
}
group = "com.tairitsu"
version = "1.0.0-SNAPSHOT"
repositories {
mavenCentral()
}
kotlin {
jvm {
compilations.all {
kotlinOptions.jvmTarget = "1.8"
}
withJava()
testRuns["test"].executionTask.configure {
useJUnitPlatform()
}
}
js(BOTH) {
browser {
commonWebpackConfig {
cssSupport.enabled = true
}
}
}
val hostOs = System.getProperty("os.name")
val isMingwX64 = hostOs.startsWith("Windows")
val nativeTarget = when {
hostOs == "Mac OS X" -> macosX64("native")
hostOs == "Linux" -> linuxX64("native")
isMingwX64 -> mingwX64("native")
else -> throw GradleException("Host OS is not supported in Kotlin/Native.")
}
sourceSets {
val commonMain by getting {
dependencies {
// https://mvnrepository.com/artifact/org.jetbrains.kotlinx/kotlinx-datetime
api("org.jetbrains.kotlinx:kotlinx-datetime:0.3.2")
// https://mvnrepository.com/artifact/org.jetbrains.kotlinx/kotlinx-datetime
api("org.jetbrains.kotlinx:kotlinx-datetime:0.3.2")
// https://mvnrepository.com/artifact/org.jetbrains.kotlinx/kotlinx-serialization-json
api("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2")
// https://mvnrepository.com/artifact/com.benasher44/uuid
api("com.benasher44:uuid:0.4.0")
// https://mvnrepository.com/artifact/io.ktor/ktor-io
api("io.ktor:ktor-io:2.0.0-beta-1")
}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test"))
}
}
val jvmMain by getting
val jvmTest by getting
val jsMain by getting
val jsTest by getting
val nativeMain by getting
val nativeTest by getting
}
val publicationsFromMainHost =
listOf(jvm(), js()).map { it.name } + "kotlinMultiplatform"
publishing {
publications {
matching { it.name in publicationsFromMainHost }.all {
val targetPublication = this@all
tasks.withType<AbstractPublishToMaven>()
.matching { it.publication == targetPublication }
.configureEach { onlyIf { findProperty("isMainHost") == "true" } }
}
}
}
project.ext.set("POM_DESCRIPTION", "Arcaea Aff composing DSL")
}
apply { from(project.file("$rootDir/gradle/publish-helper.gradle.kts")) }