feat: implementiere Cross-Packaging für Windows-MSI via Conveyor auf Linux
Feature Build — Windows MSI (via Conveyor) / 📦 Windows .msi Packaging (push) Has been skipped

Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
This commit is contained in:
2026-05-06 21:26:26 +02:00
parent 9bee2f233e
commit 77ee608094
4 changed files with 119 additions and 19 deletions
+62
View File
@@ -0,0 +1,62 @@
# =============================================================================
# Conveyor Configuration for Meldestelle Desktop App
# =============================================================================
# Dieser Build-Weg ermöglicht das Cross-Packaging für Windows (MSI) auf Linux.
# Dokumentation: https://conveyor.hydraulic.dev/
# =============================================================================
include required("https://raw.githubusercontent.com/hydraulic-software/conveyor/master/configs/jvm/extract-native-libraries.conf")
# Basis-Import der Gradle-Konfiguration (sofern das Plugin genutzt wird,
# aber wir definieren es hier explizit für maximale Kontrolle im CI/CD).
app {
# Anzeige-Name und Vendor
display-name = "Meldestelle"
rdns-name = "at.mocode.meldestelle"
vendor = "mo-code.at"
contact-email = "support@mo-code.at"
# Version aus version.properties (Conveyor kann HOCON-Variablen nutzen)
# Für diesen Task hart codiert oder via CLI-Flag --variable übergeben.
version = "1.0.0"
# Beschreibung
description = "ÖTO-konforme Turnier-Meldestelle Desktop App"
# Ziel-Plattformen
# Wir konzentrieren uns auf Windows, können aber Linux/Mac später ergänzen.
site.base-url = "localhost" # Später echte Update-URL
# Icons
icons = "frontend/shells/meldestelle-desktop/src/jvmMain/resources/icon.png"
# Einbetten der JRE (Temurin 21 wie in CI genutzt)
jvm {
gui {
main-class = "at.mocode.frontend.shell.desktop.MainKt"
}
# JVM-Argumente (analog build.gradle.kts)
jvm-options = [
"-Xms128m",
"-Xmx512m",
"-Dfile.encoding=UTF-8"
]
}
# Input-Dateien: Hier ziehen wir die Uber-JAR oder die Gradle-Outputs.
# Da wir plattformunabhängig bleiben wollen, nutzen wir das Gradle-Output-Dir.
inputs += "frontend/shells/meldestelle-desktop/build/libs/*.jar"
# Windows-spezifische Einstellungen
windows {
# Icon als .ico
icons = "frontend/shells/meldestelle-desktop/src/jvmMain/resources/icon.ico"
# GUID für Upgrades (muss stabil bleiben)
upgrade-uuid = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
# Menü-Eintrag
menu-group = "Meldestelle"
# Verknüpfung
desktop-shortcut = true
}
}