【发布时间】:2020-07-29 10:23:48
【问题描述】:
尝试为包含 ktor 服务器组件的 kotlin 多平台项目创建可运行的 jar,使用 Kotlin Gradle DSL 构建。
我见过几个问题,包括Create fat jar from kotlin multiplatform project,它询问并回答了如何在 Groovy 中创建 gradle 构建文件,但是如何在 kotlin dsl 中创建呢?
报告工作的 groovy 代码是:
kotlin {
jvm() {
withJava()
jvmJar {
manifest {
attributes 'Main-Class': 'sample.MainKt'
}
from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}
}
...
}
这将如何转化为 Kotlin DSL?我尝试了很多变体,其中一些可以编译并运行,但没有创建所需的输出......一个可运行的 jar。
【问题讨论】:
-
值得注意的是恕我直言,多平台破坏了许多插件,包括谷歌应用引擎。在用它开发 4 个月后,不幸的是,主要是“打开”它而不是“用”它,我正在尝试别的东西。 gralde 子项目...我认为我可以以更传统的设计方式完成同样的事情(仅 8 小时,但到目前为止我可以灵活地使用它)。
标签: gradle-kotlin-dsl ktor kotlin-multiplatform