mirror of
https://github.com/Suwayomi/TachideskJUI.git
synced 2025-12-10 06:42:05 +01:00
Enable new proguard setup
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
31
desktop/proguard-rules.pro
vendored
31
desktop/proguard-rules.pro
vendored
@@ -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.** { *; }
|
|
||||||
Reference in New Issue
Block a user