generated from LeHaine/korge-game-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle.kts
64 lines (54 loc) · 1.95 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
plugins {
id("com.soywiz.korge")
kotlin("kapt") version "1.5.0"
}
korge {
targetJvm()
targetJs()
}
repositories {
maven("https://jitpack.io")
}
val ldtkApiVersion: String by project
val kiwiVersion: String by project
kotlin {
sourceSets {
val commonMain by getting {
kotlin.srcDir("$buildDir/generated/source/kaptKotlin/main")
dependencies {
implementation("com.lehaine.kt-ldtk-api:ldtk-api:$ldtkApiVersion")
implementation("com.lehaine:kiwi:$kiwiVersion")
//implementation("com.lehaine:ldtk-api:$ldtkApiVersion") // local repo
}
}
val jvmMain by getting {
dependencies {
configurations.all { // kapt has an issue with determining the correct KMM library, so we need to help it
if (name.contains("kapt")) {
attributes.attribute(
org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType.attribute,
org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType.jvm // pass in the JVM
)
}
}
configurations["kapt"].dependencies.add(project.dependencies.create("com.lehaine.kt-ldtk-api:ldtk-processor:$ldtkApiVersion"))
//configurations["kapt"].dependencies.add(project.dependencies.create("com.lehaine:ldtk-processor:$ldtkApiVersion")) // local repo
}
}
}
}
tasks.getByName("compileKotlinMetadata").dependsOn("kaptKotlinJvm")
tasks {
create("regenerateLDtkCode") {
dependsOn("removeLDtkGeneratedCode")
dependsOn("jvmProcessResources")
dependsOn("generateLDtkCode")
}
create<Delete>("removeLDtkGeneratedCode") {
delete = setOf("$buildDir/generated")
}
create("generateLDtkCode") {
dependsOn("kaptKotlinJvm")
mustRunAfter("removeLDtkGeneratedCode")
}
}