Cooking-Corner-KMP
76 строк · 2.0 Кб
1import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
2import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
3
4plugins {
5alias(libs.plugins.kotlinMultiplatform)
6alias(libs.plugins.androidLibrary)
7alias(libs.plugins.kotlinxSerialization)
8}
9
10kotlin {
11@OptIn(ExperimentalWasmDsl::class)
12wasmJs {
13moduleName = "coreComponent"
14browser {
15commonWebpackConfig {
16outputFileName = "composeApp.js"
17devServer = (devServer ?: KotlinWebpackConfig.DevServer()).apply {
18static = (static ?: mutableListOf()).apply {
19// Serve sources to debug inside browser
20add(project.projectDir.path)
21}
22}
23}
24}
25binaries.executable()
26}
27
28androidTarget {
29compilations.all {
30kotlinOptions {
31jvmTarget = "11"
32}
33}
34}
35
36jvm("desktop")
37
38listOf(
39iosX64(),
40iosArm64(),
41iosSimulatorArm64()
42).forEach {
43it.binaries.framework {
44baseName = "component"
45isStatic = true
46}
47}
48
49sourceSets {
50commonMain.dependencies {
51implementation(libs.kotlinx.serialization.json)
52implementation(libs.kotlinx.coroutines.core)
53
54implementation(libs.kodein)
55
56implementation(libs.decompose)
57implementation(libs.decompose.extensions.compose)
58implementation(libs.mvikotlin)
59implementation(libs.mviKotlinMain)
60implementation(libs.mviKotlinLogging)
61implementation(libs.mviKotlinCoroutines)
62}
63}
64}
65
66android {
67namespace = "com.paranid5.cooking_corner.core.component"
68compileSdk = libs.versions.android.compileSdk.get().toInt()
69defaultConfig {
70minSdk = libs.versions.android.minSdk.get().toInt()
71}
72compileOptions {
73sourceCompatibility = JavaVersion.VERSION_11
74targetCompatibility = JavaVersion.VERSION_11
75}
76}