-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce ProGuard integration for Compose/Desktop packaging #2313
Conversation
...se/src/main/kotlin/org/jetbrains/compose/desktop/application/dsl/JvmApplicationBuildTypes.kt
Show resolved
Hide resolved
...ns/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/dsl/ProguardSettings.kt
Outdated
Show resolved
Hide resolved
...ose/src/main/kotlin/org/jetbrains/compose/desktop/application/internal/ExternalToolRunner.kt
Show resolved
Hide resolved
.../src/main/kotlin/org/jetbrains/compose/desktop/application/internal/JvmApplicationContext.kt
Show resolved
Hide resolved
...ose/src/main/kotlin/org/jetbrains/compose/desktop/application/internal/JvmApplicationData.kt
Show resolved
Hide resolved
...src/main/kotlin/org/jetbrains/compose/desktop/application/internal/JvmApplicationInternal.kt
Outdated
Show resolved
Hide resolved
...pose/src/main/kotlin/org/jetbrains/compose/desktop/application/internal/MultiOutputStream.kt
Outdated
Show resolved
Hide resolved
...pose/src/main/kotlin/org/jetbrains/compose/desktop/application/tasks/AbstractProguardTask.kt
Show resolved
Hide resolved
...pose/src/main/kotlin/org/jetbrains/compose/desktop/application/tasks/AbstractProguardTask.kt
Show resolved
Hide resolved
gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/gradle/DesktopApplicationTest.kt
Show resolved
Hide resolved
eab5af5
to
544f773
Compare
All good, Thanks! |
Really awesome that you did this! 🥇 |
Why proguard over R8? R8 has Kotlin-specific optimizations that should work for the desktop JVM as well. R8 is especially significant in Compose, as the performance is quite poor without R8. |
There is a blog by Guardsquare (they make Proguard so bare that in mind) that highlights the differences between the two tools: https://www.guardsquare.com/blog/proguard-and-r8 From the blog:
From this, it appears that R8 is oriented a lot towards Android as it is intended for the Dalvik Virtual Machine whereas Proguard is intended for the Java Virtual Machine. |
Resolves #1174