Files
meatbag/client/build.gradle.kts

91 lines
2.4 KiB
Kotlin
Raw Normal View History

2026-06-30 15:12:58 -06:00
plugins {
kotlin("multiplatform")
id("org.jetbrains.compose")
kotlin("plugin.serialization")
id("com.android.application")
2026-06-30 15:12:58 -06:00
}
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 {
applicationId = "meatbag.client"
2026-06-30 15:12:58 -06:00
minSdk = 26
targetSdk = 34
versionCode = 1
versionName = "1.0.0"
}
compileOptions {
sourceCompatibility = org.gradle.api.JavaVersion.VERSION_17
targetCompatibility = org.gradle.api.JavaVersion.VERSION_17
2026-06-30 15:12:58 -06:00
}
}
compose.desktop {
application {
mainClass = "meatbag.client.MainKt"
nativeDistributions {
targetFormats(org.jetbrains.compose.desktop.application.dsl.TargetFormat.Dmg)
packageName = "meatbag-client"
packageVersion = "1.0.0"
}
}
}