Skip to content
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

Merged
merged 1 commit into from
Sep 14, 2022

Conversation

AlexeyTsvetkov
Copy link
Collaborator

Resolves #1174

@dima-avdeev-jb
Copy link
Contributor

All good, Thanks!

@StefanOltmann
Copy link

Really awesome that you did this! 🥇

@natanfudge
Copy link

natanfudge commented Oct 11, 2022

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.

@russellbanks
Copy link

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:

Comparing performance of the optimizations at build time is tricky, since ProGuard and R8 have somewhat different purposes. ProGuard reads and writes Java bytecode. R8 primarily reads Java bytecode and writes Dalvik bytecode -- writing Java bytecode is not functional yet.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Document how to use ProGuard with Compose for Desktop
5 participants