fix(desktop): disable method/marking/static ProGuard optimization
The smoke test discovered that ProGuard's method/marking/static pass converts kmp-tor's AsyncFs.of() from instance to static. The JVM then throws IncompatibleClassChangeError at launch because callers still use invokevirtual. Also updates smoke-test-desktop.yml trigger: runs on any PR touching desktopApp/ (not just build config files). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -121,9 +121,14 @@
|
||||
# Reason: Type 'okio/BufferedSource' is not assignable to
|
||||
# 'okio/RealBufferedSource'.
|
||||
#
|
||||
# Disabling just this sub-pass keeps merging, inlining, peephole and
|
||||
# Disabling just these sub-passes keeps merging, inlining, peephole and
|
||||
# dead-code optimizations on. Everything else in `optimize` stays.
|
||||
-optimizations !method/specialization/returntype
|
||||
#
|
||||
# `method/marking/static` converts instance methods to static when they
|
||||
# don't reference `this`. kmp-tor's `AsyncFs.of()` is called via
|
||||
# invokevirtual; after ProGuard marks it static the JVM throws
|
||||
# IncompatibleClassChangeError at launch (discovered by CI smoke test).
|
||||
-optimizations !method/specialization/returntype,!method/marking/static
|
||||
|
||||
# ============================================================================
|
||||
# Desktop-only: Jackson — mobile module does not ship Jackson on Android
|
||||
|
||||
Reference in New Issue
Block a user