Files
meldestelle/frontend/shells/meldestelle-desktop/build.gradle.kts
T

133 lines
4.3 KiB
Kotlin
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
import java.util.*
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.kotlinSerialization)
}
group = "at.mocode.frontend.shell"
version = "1.0.0"
val versionProps = Properties().also { props ->
rootProject.file("version.properties").inputStream().use { props.load(it) }
}
val vMajor: String? = versionProps.getProperty("VERSION_MAJOR", "1")
val vMinor: String? = versionProps.getProperty("VERSION_MINOR", "0")
val vPatch: String? = versionProps.getProperty("VERSION_PATCH", "0")
val packageVer = "$vMajor.$vMinor.$vPatch"
kotlin {
jvm()
sourceSets {
jvmMain.dependencies {
implementation(projects.frontend.core.domain)
implementation(projects.core.coreDomain)
implementation(projects.frontend.core.designSystem)
implementation(projects.frontend.core.navigation)
implementation(projects.frontend.core.network)
implementation(projects.frontend.core.sync)
implementation(projects.frontend.core.localDb)
implementation(projects.frontend.core.auth)
implementation(projects.core.znsParser)
implementation(projects.frontend.features.pingFeature)
implementation(projects.frontend.features.nennungFeature)
implementation(projects.frontend.features.znsImportFeature)
implementation(projects.frontend.features.veranstalterFeature)
implementation(projects.frontend.features.veranstaltungFeature)
implementation(projects.frontend.features.funktionaerFeature)
implementation(projects.frontend.features.profileFeature)
implementation(projects.frontend.features.reiterFeature)
implementation(projects.frontend.features.pferdeFeature)
implementation(projects.frontend.features.vereinFeature)
implementation(projects.frontend.features.turnierFeature)
implementation(projects.frontend.features.billingFeature)
implementation(projects.frontend.features.deviceInitialization)
implementation(compose.desktop.currentOs)
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material3)
implementation(compose.ui)
implementation(compose.materialIconsExtended)
implementation(compose.uiTooling)
implementation(libs.composeHotReloadApi)
implementation(libs.koin.core)
implementation(libs.koin.compose)
implementation(libs.koin.compose.viewmodel)
implementation(libs.kotlinx.coroutines.swing)
implementation(libs.bundles.kmp.common)
implementation(libs.bundles.compose.common)
implementation(libs.logback.classic)
}
jvmTest.dependencies {
implementation(libs.kotlin.test)
}
}
}
compose.desktop {
application {
mainClass = "at.mocode.frontend.shell.desktop.MainKt"
nativeDistributions {
targetFormats(TargetFormat.Deb, TargetFormat.Rpm, TargetFormat.Msi, TargetFormat.Dmg)
packageName = "meldestelle"
packageVersion = packageVer
description = "ÖTO-konforme Turnier-Meldestelle Desktop App"
vendor = "mo-code.at"
copyright = "© 20242026 mo-code.at. Alle Rechte vorbehalten."
licenseFile.set(rootProject.file("LICENSE"))
linux {
iconFile.set(project.file("src/jvmMain/resources/icon.png"))
packageName = "meldestelle"
appCategory = "misc"
menuGroup = "Meldestelle"
shortcut = true
debMaintainer = "support@mo-code.at"
}
windows {
iconFile.set(project.file("src/jvmMain/resources/icon.ico"))
upgradeUuid = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
menuGroup = "Meldestelle"
shortcut = true
dirChooser = true
perUserInstall = false
}
macOS {
iconFile.set(project.file("src/jvmMain/resources/icon.icns"))
bundleID = "at.mocode.meldestelle"
appCategory = "public.app-category.productivity"
}
modules(
"java.base",
"java.desktop",
"java.logging",
"java.naming",
"java.net.http",
"java.sql",
"jdk.crypto.ec",
"jdk.unsupported",
)
}
jvmArgs(
"--enable-native-access=ALL-UNNAMED",
"-Xms128m",
"-Xmx512m",
"-Dfile.encoding=UTF-8",
)
}
}