diff options
| author | ketsuban <ketsuban@kukuri.dev> | 2026-08-28 17:13:36 +0000 |
|---|---|---|
| committer | ketsuban <ketsuban@kukuri.dev> | 2026-08-28 17:13:36 +0000 |
| commit | b399dbd6ab6d0597998d0fe068c2178bf6d4dfa4 (patch) | |
| tree | be762816e73b9290d2e8001f1cffab34f2cdd808 | |
| parent | c9b305378b70685f59d1eca98d906180d0afe2b4 (diff) | |
| download | kukuri-b399dbd6ab6d0597998d0fe068c2178bf6d4dfa4.tar.gz kukuri-b399dbd6ab6d0597998d0fe068c2178bf6d4dfa4.tar.bz2 kukuri-b399dbd6ab6d0597998d0fe068c2178bf6d4dfa4.zip | |
desktop fat jar: bundle skiko natives for all desktop OSes
compose.desktop.currentOs resolved only linux-x64 runtime, so Windows/macOS
users hit missing skiko-windows64.dll(.sha256) on launch. Add explicit
skiko-awt-runtime-{windows-x64,macos-arm64,macos-x64} 0.9.4.2 (aligned with
CMP 1.8.2) extracted into the fat jar; jar now carries linux/windows/macos
natives (66MB) and boots clean on linux
| -rw-r--r-- | apps/desktop/build.gradle.kts | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/apps/desktop/build.gradle.kts b/apps/desktop/build.gradle.kts index 86a11ae..4344b49 100644 --- a/apps/desktop/build.gradle.kts +++ b/apps/desktop/build.gradle.kts @@ -36,6 +36,16 @@ compose.desktop { } } +val skikoWindowsX64 by configurations.creating +val skikoMacosArm64 by configurations.creating +val skikoMacosX64 by configurations.creating + +dependencies { + skikoWindowsX64("org.jetbrains.skiko:skiko-awt-runtime-windows-x64:0.9.4.2") + skikoMacosArm64("org.jetbrains.skiko:skiko-awt-runtime-macos-arm64:0.9.4.2") + skikoMacosX64("org.jetbrains.skiko:skiko-awt-runtime-macos-x64:0.9.4.2") +} + val desktopFatJar = tasks.register<Jar>("desktopFatJar") { group = "deployment" dependsOn(tasks.named("jvmJar")) @@ -48,4 +58,9 @@ val desktopFatJar = tasks.register<Jar>("desktopFatJar") { kotlin.targets.findByName("jvm")!! .compilations.getByName("main").runtimeDependencyFiles!!.files.map { if (it.isDirectory) it else zipTree(it) }, ) { exclude("META-INF/*.SF", "META-INF/*.DSA", "META-INF/*.RSA", "module-info.class") } + from( + listOf(skikoWindowsX64, skikoMacosArm64, skikoMacosX64).map { cfg -> + cfg.map { if (it.isDirectory) it else zipTree(it) } + }, + ) { exclude("META-INF/**") } } |
