@@ -21,7 +21,7 @@ dependencies {
2121 implementation(projects.windowsHelper)
2222 implementation(libs.kotlinx.serialization.json)
2323 implementation(libs.ktor.serialization.kotlinx.json)
24- implementation(libs.ktor.client.okhttp )
24+ implementation(libs.ktor.client.java )
2525 implementation(libs.ktor.client.websockets)
2626 implementation(libs.ktor.client.resources)
2727 implementation(libs.ktor.client.content.negotiation)
@@ -42,6 +42,21 @@ dependencies {
4242 implementation(libs.androidx.lifecycle.viewmodel.compose)
4343}
4444
45+ val collectProguardConfigs by tasks.registering(Copy ::class ) {
46+ dependsOn(" :windows_helper:jar" , " :common:jar" )
47+ into(layout.buildDirectory.dir(" proguard-files" ))
48+ include(" META-INF/proguard/*.pro" )
49+ eachFile { path = name }
50+
51+ from({
52+ configurations.runtimeClasspath.get().map {
53+ zipTree(it).matching {
54+ include(" META-INF/proguard/*.pro" )
55+ }
56+ }
57+ })
58+ }
59+
4560tasks {
4661 val copyDll by registering(Copy ::class ) {
4762 dependsOn(" :windows_helper:compileRust" ," :windows_helper:generateHeaders" )
@@ -54,9 +69,13 @@ tasks {
5469 named(" prepareAppResources" ) {
5570 dependsOn(copyDll)
5671 }
72+ named(" proguardReleaseJars" ) {
73+ dependsOn(collectProguardConfigs)
74+ }
5775 }
5876}
5977
78+
6079compose {
6180 resources {
6281 packageOfResClass = " dev.schlaubi.mastermind.resources"
@@ -67,10 +86,13 @@ compose {
6786 application {
6887 mainClass = " dev.schlaubi.mastermind.LauncherKt"
6988 jvmArgs(" --enable-native-access=ALL-UNNAMED" )
89+ // jvmArgs("-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005")
7090
7191 nativeDistributions {
7292 modules(
73- " java.naming" // required by logback
93+ " java.naming" , // required by logback
94+ " java.net.http" , // HTTP Client
95+ " jdk.jdi"
7496 )
7597 targetFormats(TargetFormat .Msi )
7698
@@ -93,7 +115,13 @@ compose {
93115 release {
94116 proguard {
95117 version = libs.versions.proguard
96- configurationFiles.from(project.file(" rules.pro" ))
118+ obfuscate = false
119+ configurationFiles.from(
120+ fileTree(collectProguardConfigs.map { it.destinationDir }) {
121+ include(" *.pro" )
122+ },
123+ project.file(" rules.pro" )
124+ )
97125 }
98126 }
99127 }
0 commit comments