import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.kotlinSerialization) alias(libs.plugins.composeMultiplatform) alias(libs.plugins.composeCompiler) } kotlin { jvm("desktop") sourceSets { val desktopMain by getting commonMain.dependencies { implementation(compose.runtime) implementation(compose.foundation) implementation(compose.material) implementation(compose.ui) implementation(compose.components.resources) implementation(compose.components.uiToolingPreview) implementation(libs.androidx.lifecycle.viewmodel) implementation(libs.androidx.lifecycle.runtime.compose) implementation(libs.androidx.navigation.compose) implementation(libs.kotlinx.serialization.json) } commonTest.dependencies { implementation(libs.kotlin.test) } desktopMain.dependencies { implementation(compose.desktop.currentOs) implementation(libs.kotlinx.coroutines.swing) } } } // https://github.com/JetBrains/compose-multiplatform/blob/master/tutorials/Native_distributions_and_local_execution/README.md#basic-usage compose.desktop { application { mainClass = "com.pixelized.desktop.lwa.MainKt" nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) packageName = "Table de Lwa" packageVersion = "1.0.0" description = "Application de support au jeux de rôle dans l'univers de Lwa." copyright = "© 2020 Pixelized. All rights reserved." vendor = "Pixelized" includeAllModules = true // Use system theming fot the app toolbars. jvmArgs("-Dapple.awt.application.appearance=system") } buildTypes.release.proguard { obfuscate.set(true) // Obfuscation crash at runtime when try to use datastore. configurationFiles.from(project.file("compose-desktop.pro")) } } }