72 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Kotlin
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Kotlin
		
	
	
	
	
	
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
 | 
						|
 | 
						|
plugins {
 | 
						|
    alias(libs.plugins.kotlinMultiplatform)
 | 
						|
    alias(libs.plugins.kotlinSerialization)
 | 
						|
    // alias(libs.plugins.kotlinKtor)
 | 
						|
    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)
 | 
						|
            implementation(libs.ktor.client.core)
 | 
						|
            implementation(libs.ktor.client.cio)
 | 
						|
            implementation(libs.ktor.client.websockets)
 | 
						|
            implementation(libs.ktor.server.core)
 | 
						|
            implementation(libs.ktor.server.netty)
 | 
						|
            implementation(libs.ktor.server.websockets)
 | 
						|
        }
 | 
						|
 | 
						|
        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 for the app toolbars.
 | 
						|
            jvmArgs("-Dapple.awt.application.appearance=system")
 | 
						|
        }
 | 
						|
 | 
						|
        buildTypes.release.proguard {
 | 
						|
            obfuscate.set(false) // Obfuscation doesn't work because of netty.
 | 
						|
            configurationFiles.from(project.file("compose-desktop.pro"))
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |