import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.composeMultiplatform) alias(libs.plugins.composeCompiler) alias(libs.plugins.composeHotReload) alias(libs.plugins.kotlinSerialization) alias(libs.plugins.koin.compiler) alias(masterLibs.plugins.versionPlugin) } group = "net.keinekekse.app" version = libs.versions.composeAppVersion.get() description = "Compose Multiplatform Test-Client" extra["displayname"] = "Books App" extra["copyright"] = "Copyright (c) 2026 Hartmut Bauer" kotlin { jvm() // @OptIn(ExperimentalWasmDsl::class) // wasmJs { // browser() // binaries.executable() // } sourceSets { commonMain.dependencies { implementation(masterLibs.utilLibrary) implementation(libs.compose.runtime) implementation(libs.compose.foundation) implementation(libs.compose.material3) implementation(libs.compose.ui) implementation(libs.compose.components.resources) implementation(libs.compose.uiToolingPreview) implementation(libs.androidx.lifecycle.viewmodelCompose) implementation(libs.androidx.lifecycle.runtimeCompose) implementation(libs.ktor.client) implementation(libs.ktor.clientCio) implementation(libs.ktor.clientAuth) // implementation(libs.ktor.clientLogging) implementation(libs.ktor.clientContentNegotiation) implementation(libs.ktor.serializationJson) implementation(libs.ktor.serverCore) implementation(libs.ktor.serverCio) implementation(project.dependencies.platform(libs.koin.bom)) implementation(libs.koin.core) implementation(libs.koin.annotations) implementation(libs.koin.compose) implementation(libs.koin.compose.viewmodel) // implementation(libs.koin.compose.viewmodel.navigation) implementation(libs.kotlin.logging) implementation(libs.logback) implementation(projects.shared) } // commonTest.dependencies { // implementation(libs.kotlin.test) // } jvmMain.dependencies { implementation(compose.desktop.currentOs) implementation(libs.kotlinx.coroutinesSwing) // implementation(libs.ktor.clientJava) // ?? implementation(libs.ktor.serverAuthJwt) // nicht f. js, wasmJs } // wasmJsMain.dependencies { // implementation(libs.ktor.clientJs) // } } jvmToolchain(masterLibs.versions.javaVersion.get().toInt()) } compose.desktop { application { mainClass = "net.keinekekse.app.MainKt" nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi) //, TargetFormat.AppImage) packageName = project.name packageVersion = project.version.toString() } } }