Hello. Attempt to run a standalone app using `:run...
# jewel
c
Hello. Attempt to run a standalone app using
:runReleaseDistributable
fails to launch due to the following crash. Any ideas on how to resolve it?
Copy code
Exception in thread "main" java.lang.IncompatibleClassChangeError: class org.jetbrains.jewel.ui.painter.SvgPainterHint cannot extend sealed interface org.jetbrains.jewel.ui.painter.PainterHint
Here’s the project: https://github.com/charlesmuchene/pref-editor-desktop
s
Can you provide a bit more in terms of details and a minimal repro, and file a bug? I don't think I can go and investigate your full setup
c
The project is setup according to the Jewel read me. It’s running on: • Compose
1.6.0-rc02
• Kotlin
1.9.21
• Gradle
8.5
• IntUI standalone
0.13.2
• JDK
jbr-17 - aarch64
I have no issue running the project from the IDE. However, executing the
:runReleaseDistributable
shows a bunch of warnings from proguard (missing androidx.compose.material.MaterialTheme etc) and fails the build. Adding a proguard rule to ignore these warnings, proceeds to run the above task but fails when instantiating
IntUiTheme
(line 45) with
Copy code
Exception in thread "main" java.lang.IncompatibleClassChangeError: class org.jetbrains.jewel.ui.painter.SvgPainterHint cannot extend sealed interface org.jetbrains.jewel.ui.painter.PainterHint
s
Have you tried using the same Compose version that Jewel uses? We're not at rc2 yet
c
Yeah. I tried
v1.6.0-dev1397
: same error.
s
Can you please file a bug so we can track and investigate?
h
Can you provide a log from gradle
dependencies
task of your project?
c
@HIGAN This is a sample project to repro the issue.
h
@charlesmuchene Try add rule
Copy code
# Keep all PaintetHints
-keep interface * extends org.jetbrains.jewel.ui.painter.PainterHint
🎉 1
s
I can confirm that disabling proguard or adding the keep rule @HIGAN suggested solves the issue. It's not a Jewel issue, it's a Proguard setup issue.
c
Thanks y’all. That resolved my issue.
💯 1
Is there a specific criteria required to feature this project on the “Written with Jewel” 💎 readme section? cc @seb @HIGAN
s
Not really, it's up to our discretion for now 🙂
It's mostly about high quality implementations we know of, from people we know. We don't really have that much time to review submissions right now — that list is there mostly to show some real-world usages that can be taken as reference
c
Thanks for the context. Looking forward to make the cut with real-world traction.
👍 1