Skip to content

Commit ea2dedf

Browse files
authored
Merge pull request #1215 from DimensionDev/feature/kotlin_android_kmp
migrate to kotlin multiplatform android plugin
2 parents 703845c + d18822f commit ea2dedf

File tree

5 files changed

+30
-51
lines changed

5 files changed

+30
-51
lines changed

compose-ui/build.gradle.kts

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import com.android.build.api.dsl.KotlinMultiplatformAndroidCompilation
12
import org.jetbrains.compose.compose
23

34
plugins {
@@ -9,32 +10,25 @@ plugins {
910
alias(libs.plugins.composeMultiplatform)
1011
}
1112

12-
android {
13-
namespace = "dev.dimension.flare.compose.ui"
14-
compileOptions {
15-
isCoreLibraryDesugaringEnabled = true
16-
}
17-
}
18-
1913
kotlin {
2014
jvmToolchain(libs.versions.java.get().toInt())
2115
explicitApi()
2216
applyDefaultHierarchyTemplate {
2317
common {
2418
group("androidJvm") {
25-
withAndroidTarget()
19+
// TODO: https://youtrack.jetbrains.com/issue/KT-80409
20+
withCompilations { it is KotlinMultiplatformAndroidCompilation }
2621
withJvm()
2722
}
2823
}
2924
}
30-
androidTarget()
31-
// androidLibrary {
32-
// compileSdk = libs.versions.compileSdk.get().toInt()
33-
// namespace = "dev.dimension.flare.compose.ui"
34-
// minSdk = libs.versions.minSdk.get().toInt()
35-
// experimentalProperties["android.experimental.kmp.enableAndroidResources"] = true
36-
// enableCoreLibraryDesugaring = true
37-
// }
25+
androidLibrary {
26+
compileSdk = libs.versions.compileSdk.get().toInt()
27+
namespace = "dev.dimension.flare.compose.ui"
28+
minSdk = libs.versions.minSdk.get().toInt()
29+
experimentalProperties["android.experimental.kmp.enableAndroidResources"] = true
30+
enableCoreLibraryDesugaring = true
31+
}
3832
jvm()
3933

4034
sourceSets {

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ ktor-server = ["ktor-server-core", "ktor-server-resources", "ktor-server-content
243243

244244
[plugins]
245245
android-application = { id = "com.android.application", version.ref = "agp" }
246-
android-library = { id = "com.android.library", version.ref = "agp" }
246+
android-library = { id = "com.android.kotlin.multiplatform.library", version.ref = "agp" }
247247
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
248248
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
249249
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }

shared/api/build.gradle.kts

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,11 @@ kotlin {
88
jvmToolchain(libs.versions.java.get().toInt())
99
explicitApi()
1010
applyDefaultHierarchyTemplate()
11-
// androidLibrary {
12-
// compileSdk = libs.versions.compileSdk.get().toInt()
13-
// namespace = "dev.dimension.flare.shared.api"
14-
// minSdk = libs.versions.minSdk.get().toInt()
15-
// }
16-
androidTarget()
11+
androidLibrary {
12+
compileSdk = libs.versions.compileSdk.get().toInt()
13+
namespace = "dev.dimension.flare.shared.api"
14+
minSdk = libs.versions.minSdk.get().toInt()
15+
}
1716
jvm()
1817
macosX64()
1918
macosArm64()
@@ -36,6 +35,3 @@ kotlin {
3635
}
3736
}
3837

39-
android {
40-
namespace = "dev.dimension.flare.shared.api"
41-
}

shared/build.gradle.kts

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11

2+
import com.android.build.api.dsl.KotlinMultiplatformAndroidCompilation
23
import java.util.Locale
34

45
plugins {
@@ -14,10 +15,6 @@ plugins {
1415
alias(libs.plugins.room)
1516
}
1617

17-
android {
18-
namespace = "dev.dimension.flare.shared"
19-
}
20-
2118
kotlin {
2219
applyDefaultHierarchyTemplate {
2320
common {
@@ -26,21 +23,19 @@ kotlin {
2623
withIos()
2724
}
2825
group("androidJvm") {
29-
withAndroidTarget()
26+
// TODO: https://youtrack.jetbrains.com/issue/KT-80409
27+
withCompilations { it is KotlinMultiplatformAndroidCompilation }
3028
withJvm()
3129
}
3230
}
3331
}
3432
jvmToolchain(libs.versions.java.get().toInt())
3533
explicitApi()
36-
// androidLibrary {
37-
// compileSdk = libs.versions.compileSdk.get().toInt()
38-
// namespace = "dev.dimension.flare.shared"
39-
// minSdk = libs.versions.minSdk.get().toInt()
40-
// }
41-
42-
43-
androidTarget()
34+
androidLibrary {
35+
compileSdk = libs.versions.compileSdk.get().toInt()
36+
namespace = "dev.dimension.flare.shared"
37+
minSdk = libs.versions.minSdk.get().toInt()
38+
}
4439
jvm()
4540

4641
listOf(

shared/ui/build.gradle.kts

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,16 @@ plugins {
77
alias(libs.plugins.composeMultiplatform)
88
}
99

10-
android {
11-
namespace = "dev.dimension.flare.shared.ui"
12-
}
13-
1410
kotlin {
1511
jvmToolchain(libs.versions.java.get().toInt())
1612
explicitApi()
1713
applyDefaultHierarchyTemplate()
18-
// androidLibrary {
19-
// compileSdk = libs.versions.compileSdk.get().toInt()
20-
// namespace = "dev.dimension.flare.shared.ui"
21-
// minSdk = libs.versions.minSdk.get().toInt()
22-
// experimentalProperties["android.experimental.kmp.enableAndroidResources"] = true
23-
// }
24-
25-
androidTarget()
14+
androidLibrary {
15+
compileSdk = libs.versions.compileSdk.get().toInt()
16+
namespace = "dev.dimension.flare.shared.ui"
17+
minSdk = libs.versions.minSdk.get().toInt()
18+
experimentalProperties["android.experimental.kmp.enableAndroidResources"] = true
19+
}
2620

2721
listOf(
2822
iosX64(),

0 commit comments

Comments
 (0)