Enable new proguard setup

This commit is contained in:
Syer10
2022-09-25 19:09:28 -04:00
parent 5cf40d1248
commit 931d6ff35f
3 changed files with 22 additions and 41 deletions

View File

@@ -22,13 +22,6 @@ plugins {
alias(libs.plugins.versions) alias(libs.plugins.versions)
} }
buildscript {
dependencies {
// Waiting on https://github.com/Guardsquare/proguard/issues/225
classpath(libs.proguard)
}
}
allprojects { allprojects {
group = "ca.gosyer" group = "ca.gosyer"
version = "1.3.0" version = "1.3.0"

View File

@@ -5,7 +5,6 @@ import org.gradle.jvm.tasks.Jar
import org.jetbrains.compose.compose import org.jetbrains.compose.compose
import org.jetbrains.compose.desktop.application.dsl.TargetFormat import org.jetbrains.compose.desktop.application.dsl.TargetFormat
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import proguard.gradle.ProGuardTask
@Suppress("DSL_SCOPE_VIOLATION") @Suppress("DSL_SCOPE_VIOLATION")
plugins { plugins {
@@ -122,23 +121,6 @@ tasks {
} }
registerTachideskTasks(project) registerTachideskTasks(project)
register<ProGuardTask>("optimizeUberJar") {
group = "compose desktop"
val packageUberJarForCurrentOS = getByName("packageUberJarForCurrentOS")
dependsOn(packageUberJarForCurrentOS)
val uberJar = packageUberJarForCurrentOS.outputs.files.first()
injars(uberJar)
outjars(File(uberJar.parentFile, "min/" + uberJar.name))
val javaHome = System.getProperty("java.home")
if (JavaVersion.current().isJava9Compatible) {
libraryjars("$javaHome/jmods")
} else {
libraryjars("$javaHome/lib/rt.jar")
libraryjars("$javaHome/lib/jce.jar")
}
configuration("proguard-rules.pro")
}
} }
kotlin { kotlin {
@@ -193,6 +175,13 @@ compose.desktop {
if (isPreview) { if (isPreview) {
packageVersion = "${version.toString().substringBeforeLast('.')}.$previewCode" packageVersion = "${version.toString().substringBeforeLast('.')}.$previewCode"
} }
args(project.projectDir.absolutePath)
buildTypes.release.proguard {
version.set(libs.versions.proguard.get())
configurationFiles.from("proguard-rules.pro")
}
windows { windows {
dirChooser = true dirChooser = true
upgradeUuid = if (!isPreview) { upgradeUuid = if (!isPreview) {

View File

@@ -1,23 +1,23 @@
-dontobfuscate -dontobfuscate
-keepattributes Signature,LineNumberTable -keepattributes Signature,LineNumberTable
-keep,allowoptimization class ca.gosyer.** { public protected *; } -keep,includedescriptorclasses,allowoptimization class ca.gosyer.jui.** { public protected *; }
-keep class ca.gosyer.ui.main.MainKt { -keep class ca.gosyer.jui.desktop.MainKt {
public static void main(java.lang.String[]); public static void main(java.lang.String[]);
} }
-keep class 'module-info' -keep class 'module-info'
# Kotlin # Kotlin
# todo optimize more # todo optimize more
-keep class kotlin.reflect.** { *; } -keep,includedescriptorclasses class kotlin.reflect.** { *; }
# Log4J # Log4J
-dontwarn org.apache.logging.log4j.** -dontwarn org.apache.logging.log4j.**
-keep class org.apache.logging.log4j.** { *; } -keep,includedescriptorclasses class org.apache.logging.log4j.** { *; }
# SLF4J # SLF4J
-dontwarn org.apache.logging.slf4j.** -dontwarn org.apache.logging.slf4j.**
-keep class org.apache.logging.slf4j.** { *; } -keep,includedescriptorclasses class org.apache.logging.slf4j.** { *; }
# OKHTTP # OKHTTP
-dontwarn org.codehaus.mojo.animal_sniffer.* -dontwarn org.codehaus.mojo.animal_sniffer.*
@@ -25,20 +25,20 @@
# DarkLaf # DarkLaf
# todo optimize more # todo optimize more
-keep class com.github.weisj.darklaf.** { *; } -keep,includedescriptorclasses class com.github.weisj.darklaf.** { *; }
-dontwarn com.github.weisj.darklaf.** -dontwarn com.github.weisj.darklaf.**
-keep class com.github.weisj.jsvg.** { *; }
-dontwarn com.github.weisj.jsvg.**
# Ktor # Ktor
-keep,includedescriptorclasses class * extends io.ktor.client.HttpClientEngineContainer
-dontwarn io.ktor.network.sockets.DatagramSendChannel -dontwarn io.ktor.network.sockets.DatagramSendChannel
# Coroutines # Coroutines
-keep class kotlinx.coroutines.swing.** { *; } -keep,includedescriptorclasses class kotlinx.coroutines.swing.** { *; }
-dontwarn kotlinx.coroutines.**
# Other # Other
-dontwarn org.pbjar.jxlayer.plaf.ext.TransformUI -dontwarn org.pbjar.jxlayer.plaf.ext.TransformUI
-dontwarn com.kitfox.svg.app.ant.SVGToImageAntTask
-dontwarn nl.adaptivity.xmlutil.StAXWriter
-keep class com.sun.jna.** { *; } -keep class com.sun.jna.** { *; }
# Kotlin Serialization # Kotlin Serialization
@@ -53,14 +53,13 @@
kotlinx.serialization.KSerializer serializer(...); kotlinx.serialization.KSerializer serializer(...);
} }
-keep,includedescriptorclasses class ca.gosyer.**$$serializer { *; } -keep,includedescriptorclasses class ca.gosyer.jui.**$$serializer { *; }
-keepclassmembers class ca.gosyer.** { -keepclassmembers class ca.gosyer.jui.** {
*** Companion; *** Companion;
} }
-keepclasseswithmembers class ca.gosyer.** { -keepclasseswithmembers class ca.gosyer.jui.** {
kotlinx.serialization.KSerializer serializer(...); kotlinx.serialization.KSerializer serializer(...);
} }
# Keep Skia # Skiko
-keep class org.jetbrains.skia.** { *; } -dontwarn org.jetbrains.skiko.**
-keep class org.jetbrains.skiko.** { *; }