尝试为 kotlin 多平台项目创建一个可运行的 jar,其中包含一个 ktor 服务器组件,使用 Kotlin Gradle DSL 构建。
我看到了几个问题,包括Create fat jar from kotlin multiplatform project ,它询问并回答如何在 Groovy 中创建 gradle 构建文件,但是如何在 kotlin dsl 中做到这一点?
据报告可以正常工作的常规代码是:
kotlin {
jvm() {
withJava()
jvmJar {
manifest {
attributes 'Main-Class': 'sample.MainKt'
}
from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
这将如何转换为 Kotlin DSL?我尝试了很多变体,其中一些可以编译并运行,但没有创建所需的输出...可运行的 jar。