Files
ShadowrunCharSheet/sharedUI/build.gradle.kts
shahondin1624 cd027b9f9b Initial commit
2025-10-25 11:22:27 +02:00

97 lines
3.1 KiB
Kotlin

import org.jetbrains.compose.ExperimentalComposeLibrary
import org.gradle.kotlin.dsl.withType
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.compose.multiplatform)
alias(libs.plugins.android.kmp.library)
alias(libs.plugins.compose.hot.reload)
alias(libs.plugins.kotlinx.serialization)
alias(libs.plugins.metro)
}
kotlin {
android {
namespace = "org.shahondin1624"
compileSdk = 36
minSdk = 23
androidResources.enable = true
}
jvm()
js { browser() }
wasmJs { browser() }
iosX64()
iosArm64()
iosSimulatorArm64()
sourceSets {
commonMain.dependencies {
implementation(compose.runtime)
implementation(compose.ui)
implementation(compose.foundation)
implementation(compose.material3)
implementation(compose.components.resources)
implementation(compose.components.uiToolingPreview)
implementation(libs.kotlinx.coroutines.core)
implementation(libs.ktor.client.core)
implementation(libs.ktor.client.content.negotiation)
implementation(libs.ktor.client.serialization)
implementation(libs.ktor.serialization.json)
implementation(libs.ktor.client.logging)
implementation(libs.androidx.lifecycle.viewmodel)
implementation(libs.androidx.lifecycle.runtime)
implementation(libs.androidx.navigation.compose)
implementation(libs.kotlinx.serialization.json)
implementation(libs.coil)
implementation(libs.coil.network.ktor)
implementation(libs.multiplatformSettings)
implementation(libs.kstore)
implementation(libs.materialKolor)
implementation(libs.materialIcons)
}
commonTest.dependencies {
implementation(kotlin("test"))
@OptIn(ExperimentalComposeLibrary::class)
implementation(compose.uiTest)
implementation(libs.kotlinx.coroutines.test)
}
androidMain.dependencies {
implementation(compose.uiTooling)
implementation(libs.kotlinx.coroutines.android)
implementation(libs.ktor.client.okhttp)
implementation(libs.kstore.file)
}
jvmMain.dependencies {
implementation(compose.desktop.currentOs)
implementation(libs.kotlinx.coroutines.swing)
implementation(libs.ktor.client.okhttp)
implementation(libs.kstore.file)
}
webMain.dependencies {
implementation(libs.kstore.storage)
}
iosMain.dependencies {
implementation(libs.ktor.client.darwin)
implementation(libs.kstore.file)
}
}
targets
.withType<KotlinNativeTarget>()
.matching { it.konanTarget.family.isAppleFamily }
.configureEach {
binaries { framework { baseName = "SharedUI" } }
}
}