* chore(MP-21): snapshot pre-refactor state (Epic 1) * chore(MP-22): scaffold new repo structure, relocate Docker Compose, move frontend/backend modules, update Makefile; add docs mapping and env template * MP-22 Epic 2: Erfolgreich umgesetzt und verifiziert * MP-23 Epic 3: Gradle/Build Governance zentralisieren
60 lines
1.3 KiB
Plaintext
60 lines
1.3 KiB
Plaintext
plugins {
|
|
alias(libs.plugins.kotlinMultiplatform)
|
|
alias(libs.plugins.composeMultiplatform)
|
|
alias(libs.plugins.composeCompiler)
|
|
alias(libs.plugins.kotlinSerialization)
|
|
}
|
|
|
|
kotlin {
|
|
val enableWasm = providers.gradleProperty("enableWasm").orNull == "true"
|
|
|
|
jvmToolchain(21)
|
|
|
|
jvm()
|
|
js(IR) {
|
|
browser()
|
|
// nodejs()
|
|
binaries.executable()
|
|
}
|
|
|
|
// WASM, nur wenn explizit aktiviert
|
|
if (enableWasm) {
|
|
@OptIn(org.jetbrains.kotlin.gradle.ExperimentalWasmDsl::class)
|
|
wasmJs {
|
|
browser()
|
|
binaries.executable()
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
commonMain.dependencies {
|
|
// Shared module dependency
|
|
implementation(project(":clients:shared"))
|
|
|
|
// Compose dependencies
|
|
implementation(compose.runtime)
|
|
implementation(compose.foundation)
|
|
implementation(compose.material3)
|
|
implementation(compose.ui)
|
|
implementation(compose.components.resources)
|
|
|
|
// Coroutines
|
|
implementation(libs.kotlinx.coroutines.core)
|
|
|
|
// Serialization
|
|
implementation(libs.kotlinx.serialization.json)
|
|
|
|
// DateTime
|
|
implementation(libs.kotlinx.datetime)
|
|
}
|
|
|
|
jsMain.dependencies {
|
|
// JS-specific UI dependencies if needed
|
|
}
|
|
|
|
jvmMain.dependencies {
|
|
// JVM-specific UI dependencies if needed
|
|
}
|
|
}
|
|
}
|