|
|
|
import org.jetbrains.compose.compose
|
|
|
|
|
|
|
|
plugins {
|
|
|
|
kotlin("multiplatform")
|
|
|
|
kotlin("plugin.compose")
|
|
|
|
id("org.jetbrains.compose")
|
|
|
|
id("com.android.library")
|
|
|
|
}
|
|
|
|
|
|
|
|
group = "com.example"
|
|
|
|
version = "1.0-SNAPSHOT"
|
|
|
|
|
|
|
|
kotlin {
|
|
|
|
androidTarget()
|
|
|
|
wasmJs { browser() }
|
|
|
|
|
|
|
|
jvm("desktop") {
|
|
|
|
compilations.all {
|
|
|
|
kotlinOptions.jvmTarget = "17"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
listOf(
|
|
|
|
iosX64(),
|
|
|
|
iosArm64(),
|
|
|
|
iosSimulatorArm64()
|
|
|
|
).forEach { iosTarget ->
|
|
|
|
iosTarget.binaries.framework {
|
|
|
|
baseName = "common"
|
|
|
|
isStatic = true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
applyDefaultHierarchyTemplate()
|
|
|
|
|
|
|
|
sourceSets {
|
|
|
|
val commonMain by getting {
|
|
|
|
dependencies {
|
|
|
|
api(compose.runtime)
|
|
|
|
api(compose.foundation)
|
|
|
|
api(compose.material)
|
|
|
|
implementation(compose.components.resources)
|
|
|
|
implementation(libs.kotlinx.coroutines)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
val nonAndroidMain by creating {
|
|
|
|
dependsOn(commonMain)
|
|
|
|
}
|
|
|
|
val commonTest by getting {
|
|
|
|
dependencies {
|
|
|
|
implementation(kotlin("test"))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
val androidMain by getting {
|
|
|
|
dependencies {
|
|
|
|
api("androidx.appcompat:appcompat:1.5.1")
|
|
|
|
api("androidx.core:core-ktx:1.9.0")
|
|
|
|
implementation(libs.coil.kt.compose)
|
|
|
|
implementation(libs.androidx.navigation.compose)
|
|
|
|
implementation(libs.androidx.compose.ui.util)
|
|
|
|
implementation(libs.androidx.lifecycle.viewModelCompose)
|
|
|
|
implementation(libs.androidx.constraintlayout.compose)
|
|
|
|
implementation(libs.androidx.core.ktx)
|
|
|
|
implementation(libs.androidx.activity.compose)
|
|
|
|
implementation(libs.androidx.lifecycle.viewModelCompose)
|
|
|
|
implementation(libs.androidx.lifecycle.runtime.compose)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
val androidUnitTest by getting {
|
|
|
|
dependencies {
|
|
|
|
implementation("junit:junit:4.13.2")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
val desktopMain by getting {
|
|
|
|
dependsOn(nonAndroidMain)
|
|
|
|
dependencies {
|
|
|
|
api(compose.preview)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
val desktopTest by getting
|
|
|
|
|
|
|
|
val wasmJsMain by getting {
|
|
|
|
dependencies {
|
|
|
|
implementation(kotlin("stdlib"))
|
|
|
|
}
|
|
|
|
dependsOn(nonAndroidMain)
|
|
|
|
}
|
|
|
|
|
|
|
|
val iosMain by getting {
|
|
|
|
dependsOn(nonAndroidMain)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
android {
|
|
|
|
compileSdk = 34
|
|
|
|
namespace = "com.example.jetsnack"
|
|
|
|
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
|
|
|
|
defaultConfig {
|
|
|
|
minSdk = 24
|
|
|
|
targetSdk = 33
|
|
|
|
}
|
|
|
|
compileOptions {
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
|
|
}
|
|
|
|
kotlin {
|
|
|
|
jvmToolchain(17)
|
|
|
|
}
|
|
|
|
}
|