Сергей Новоселецкий
04/20/2023, 12:54 PMplugins {
kotlin("multiplatform")
id("com.android.library")
id("org.jetbrains.compose")
}
kotlin {
android {
compilations.all {
kotlinOptions {
jvmTarget = "1.8"
}
}
}
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach {
it.binaries.framework {
baseName = "shared"
}
}
sourceSets {
val commonMain by getting {
dependencies {
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material)
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
implementation(compose.components.resources)
}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test"))
}
}
val androidMain by getting {
dependencies {
api("androidx.activity:activity-compose:1.6.1")
api("androidx.appcompat:appcompat:1.6.1")
api("androidx.core:core-ktx:1.9.0")
}
}
val androidUnitTest by getting
val iosX64Main by getting
val iosArm64Main by getting
val iosSimulatorArm64Main by getting
val iosMain by creating {
dependsOn(commonMain)
iosX64Main.dependsOn(this)
iosArm64Main.dependsOn(this)
iosSimulatorArm64Main.dependsOn(this)
}
val iosX64Test by getting
val iosArm64Test by getting
val iosSimulatorArm64Test by getting
val iosTest by creating {
dependsOn(commonTest)
iosX64Test.dependsOn(this)
iosArm64Test.dependsOn(this)
iosSimulatorArm64Test.dependsOn(this)
}
}
}
android {
namespace = "com.example.kmmtest"
compileSdk = 33
defaultConfig {
minSdk = 24
}
}
Here is also my build.gradle.kts file in root folder
plugins {
//trick: for the same plugin versions in all sub-modules
id("com.android.application").version("8.0.0").apply(false)
id("com.android.library").version("8.0.0").apply(false)
kotlin("android").version("1.8.20").apply(false)
kotlin("multiplatform").version("1.8.20").apply(false)
id("org.jetbrains.compose").version("1.4.0").apply(false)
}
tasks.register("clean", Delete::class) {
delete(rootProject.buildDir)
}
Сергей Новоселецкий
04/20/2023, 1:08 PMСергей Новоселецкий
04/20/2023, 1:08 PMDima Avdeev
04/20/2023, 3:48 PM