Плагин 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/

Другие вопросы по тегам