Files
YAEP/desktop/build.gradle.kts

68 lines
2.2 KiB
Kotlin
Raw Permalink Normal View History

import org.jetbrains.compose.desktop.application.dsl.TargetFormat.Deb
import org.jetbrains.compose.desktop.application.dsl.TargetFormat.Dmg
import org.jetbrains.compose.desktop.application.dsl.TargetFormat.Msi
plugins {
2025-10-14 22:18:11 +02:00
alias(libs.plugins.kotlin.kover)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.compose.compiler)
2024-07-02 23:11:53 +02:00
alias(libs.plugins.compose)
}
kotlin {
2025-05-30 06:06:51 +02:00
jvmToolchain(libs.versions.jdk.get().toInt())
dependencies {
implementation(compose.desktop.currentOs)
implementation(compose.material3)
implementation(compose.components.resources)
implementation(projects.commonUI)
implementation(compose.components.uiToolingPreview)
testImplementation(libs.kotlin.test)
testImplementation(libs.atrium)
testImplementation(compose.desktop.uiTestJUnit4)
testImplementation(compose.desktop.currentOs)
}
}
compose.desktop {
application {
2025-07-09 21:19:41 +02:00
mainClass = "ch.dissem.yaep.ui.desktop.MainKt"
nativeDistributions {
val formats = mutableListOf(Deb)
2025-05-30 06:06:51 +02:00
packageName = "YAEP"
val baseVersion = version.toString()
packageVersion = baseVersion
if (baseVersion.matches(Regex("[1-9][0-9]*(\\.[0-9]+)(\\.[0-9]+)"))) {
formats.add(Dmg)
macOS {
iconFile.set(project.file("icon.icns"))
}
2025-05-30 06:06:51 +02:00
}
if (baseVersion.matches(Regex("[1-2]?[0-9]?[0-9]\\.[1-2]?[0-9]?[0-9]\\.[1-6]?[0-9]?[0-9]?[0-9]?[0-9]"))) {
windows {
formats.add(Msi)
iconFile.set(project.file("icon.ico"))
}
2025-05-30 06:06:51 +02:00
}
linux {
debPackageVersion = if (baseVersion.first().isDigit()) {
baseVersion
} else {
"0-$baseVersion"
}
2025-05-30 06:06:51 +02:00
iconFile.set(project.file("icon.png"))
}
targetFormats(*formats.toTypedArray())
buildTypes.release.proguard {
configurationFiles.from(project.file("proguard-rules.pro"))
2025-05-30 06:06:51 +02:00
isEnabled.set(false)
obfuscate.set(false)
}
}
}
}