diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/internal/files/MacJarSignFileCopyingProcessor.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/internal/files/MacJarSignFileCopyingProcessor.kt index b7888b4979..58389a560c 100644 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/internal/files/MacJarSignFileCopyingProcessor.kt +++ b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/internal/files/MacJarSignFileCopyingProcessor.kt @@ -31,9 +31,22 @@ internal class MacJarSignFileCopyingProcessor( * so we need to remove signature before running jpackage. * * JDK 18 processes signed libraries fine, so we don't have to do anything. + * + * Note that the JDK only signs dylib files and not jnilib files, + * so jnilib files still need to be signed here. */ - jvmRuntimeVersion == 17 -> signer.unsign(target) - else -> {} + jvmRuntimeVersion == 17 -> { + if (source.name.endsWith(".jnilib")) { + signer.sign(target) + } else { + signer.unsign(target) + } + } + else -> { + if (source.name.endsWith(".jnilib")) { + signer.sign(target) + } + } } } }