meldestelle/clients/app/build.gradle.kts
stefan 3aa4e3c412 fixing clients
new frontend
2025-09-25 21:12:15 +02:00

79 lines
2.0 KiB
Plaintext

@file:OptIn(ExperimentalKotlinGradlePluginApi::class)
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
/**
* Dieses Modul ist der "Host". Es kennt alle Features und die Shared-Module und
* setzt sie zu einer lauffähigen Anwendung zusammen.
*/
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.composeCompiler)
}
group = "at.mocode.clients"
version = "1.0.0"
kotlin {
jvm {
binaries {
executable {
mainClass.set("MainKt")
}
}
}
js(IR) {
browser {
testTask {
enabled = false
}
}
binaries.executable()
}
jvmToolchain(21)
sourceSets {
val commonMain by getting {
dependencies {
// Feature modules
implementation(project(":clients:ping-feature"))
// Shared modules
implementation(project(":clients:shared:common-ui"))
implementation(project(":clients:shared:navigation"))
// Compose dependencies
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material3)
implementation(compose.ui)
// ViewModel lifecycle
implementation(libs.androidx.lifecycle.viewmodelCompose)
}
}
val jvmMain by getting {
dependencies {
implementation(compose.desktop.currentOs)
implementation(libs.kotlinx.coroutines.swing)
}
}
val commonTest by getting {
dependencies {
implementation(libs.kotlin.test)
}
}
}
}
// Configure duplicate handling strategy for distribution tasks
tasks.withType<Tar> {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
tasks.withType<Zip> {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}