Files
zz_app/books/build.gradle.kts
T
2026-02-03 22:36:35 +01:00

80 lines
2.6 KiB
Kotlin

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.bundles.kotlin.compose)
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(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.serverCio)
// implementation(libs.ktor.serverCore)
// implementation(libs.ktor.serverNetty)
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.Deb)
packageName = project.name
packageVersion = project.version.toString()
}
}
}