Closed madisp closed 4 months ago
Hm, that's strange. We build an r8 jar on CI, which succeeds on r8 version 8.1.72. I wonder what changed in r8 to start failing.
It's highly unlikely that anything changed with regard to the int array or object array initialization, so perhaps something changed that actually enabled more optimization around this snippet:
and it resulted in code being inlined and blowing the limit.
It sounds like you're already dangerously close to the limit anyway, so future unicode updates could push the regular classfile compilation over. Probably best to preemptively shard the array initialization into a couple partitioned functions rather than having it inline.
Reported to R8: https://issuetracker.google.com/issues/329678175 I think R8-ing shouldn't "break" on otherwise working code, right?
@ajalt do you have plans to release Clikt with Mordant 2.4.0?
Until then, workaround is easy:
implementation("com.github.ajalt.clikt:clikt:4.2.2")
// TODO delete when https://github.com/ajalt/mordant/issues/160 is released in Clikt.
implementation("com.github.ajalt.mordant:mordant:2.4.0")
Update: fixed in com.android.tools:r8:8.4.21
to be released when AGP 8.4 is stable,
until then, we can use from maven { url = uri("https://storage.googleapis.com/r8-releases/raw") }
Hi, we're using mordant through clikt together with R8 minifier to produce a single minified jar file.
Running R8 version 8.3.37 on Mordant fails due to
EmojiseqtableKt
class being too big, maybe there's a way to split it into multiple class files?