使用Kotlin DSL在Gradle中构建一个全能的Jar

要构建Java或Kotlin项目的“fat”Jar,将所有依赖项都包含在一个文件中,你可以使用shadow Gradle插件。
【使用Kotlin DSL在Gradle中构建一个全能的Jar】我发现很难找到关于它如何使用Gradle Kotlin DSL(带有build.gradle)工作的清晰文档。kts而不是build.gradle)我是这样做的:

$ cat build.gradle.kts import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJarplugins { kotlin("jvm") version "1.3.41" id("com.github.johnrengelman.shadow") version "5.1.0" }repositories { mavenCentral() }dependencies { implementation(kotlin("stdlib")) }tasks.withType< ShadowJar>() { manifest { attributes["Main-Class"] = "HelloKt" } }$ cat src/main/kotlin/Hello.kt fun main() { println("Hello!") }$ gradle wrapper --gradle-version 5.5 BUILD SUCCESSFUL in 0s 1 actionable task: 1 executed$ ./gradlew shadowJar BUILD SUCCESSFUL in 1s 2 actionable tasks: 2 executed$ java -jar build/libs/hello-all.jar Hello!

    推荐阅读