Плагин Compose создает только дистрибутив Dmg
У меня есть настольное приложение, написанное с помощью compose, я работаю на Mac. Все отлично работает для сборки Mac, но я не могу создать ее для Linux.
dependencies {
implementation(compose.desktop.linux_x64)
implementation(compose.desktop.macos_x64)
[...]
}
compose.desktop {
application {
mainClass = "pl.rtsm.myapp.ApplicationKt"
jvmArgs += listOf("-Xmx12G")
nativeDistributions {
targetFormats(TargetFormat.Deb, TargetFormat.Dmg)
outputBaseDir.set(project.buildDir.resolve("installers"))
packageName = "MyApp"
}
}
}
Все, что я указываю в targetFormats, создает только приложение для Mac. Единственное, что я нашел в журналах отладки, это то, что эта задача пропущена (хотя я запускаю задачу из чистого состояния):
2022-01-09T18:11:57.948+0100 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] > Task :packageDeb SKIPPED
2022-01-09T18:11:57.948+0100 [INFO] [org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter] Skipping task ':packageDeb' as task onlyIf is false.
Можно ли создавать сборки Linux на Mac? Чего-то не хватает?
1 ответ
Вы можете создавать только для той платформы, над которой работаете. Если вы хотите выполнить сборку для Linux, вам понадобится операционная система Linux и сборка в ней.
Но есть лучшее решение. Используйте следующий инструмент, который сгенерирует сборку для всех целей, использующих любую ОС: https://conveyor.Hydraulic.dev/