82 lines
2.2 KiB
Kotlin
82 lines
2.2 KiB
Kotlin
plugins {
|
|
kotlin("multiplatform")
|
|
id("org.jetbrains.compose")
|
|
kotlin("plugin.serialization")
|
|
id("com.android.library")
|
|
}
|
|
|
|
kotlin {
|
|
androidTarget {
|
|
compilations.all {
|
|
kotlinOptions {
|
|
jvmTarget = "17"
|
|
}
|
|
}
|
|
}
|
|
|
|
jvm("desktop") {
|
|
compilations.all {
|
|
kotlinOptions {
|
|
jvmTarget = "17"
|
|
}
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
val commonMain by getting {
|
|
dependencies {
|
|
implementation(project(":common"))
|
|
implementation(compose.runtime)
|
|
implementation(compose.foundation)
|
|
implementation(compose.material)
|
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0")
|
|
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3")
|
|
|
|
// Ktor client dependencies for WebSocket connection
|
|
implementation("io.ktor:ktor-client-core:2.3.11")
|
|
implementation("io.ktor:ktor-client-websockets:2.3.11")
|
|
implementation("io.ktor:ktor-client-cio:2.3.11")
|
|
implementation("io.ktor:ktor-client-content-negotiation:2.3.11")
|
|
implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.11")
|
|
}
|
|
}
|
|
|
|
val desktopMain by getting {
|
|
dependencies {
|
|
implementation(compose.desktop.currentOs)
|
|
}
|
|
}
|
|
|
|
val wearMain by creating {
|
|
dependsOn(commonMain)
|
|
}
|
|
|
|
val androidMain by getting {
|
|
dependsOn(wearMain)
|
|
dependencies {
|
|
implementation("androidx.activity:activity-compose:1.8.2")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
android {
|
|
namespace = "meatbag.client"
|
|
compileSdk = 35
|
|
|
|
defaultConfig {
|
|
minSdk = 26
|
|
}
|
|
}
|
|
|
|
compose.desktop {
|
|
application {
|
|
mainClass = "meatbag.client.MainKt"
|
|
nativeDistributions {
|
|
targetFormats(org.jetbrains.compose.desktop.application.dsl.TargetFormat.Dmg)
|
|
packageName = "meatbag-client"
|
|
packageVersion = "1.0.0"
|
|
}
|
|
}
|
|
}
|