如何使用 gradle maven-publish 插件和 Kotlin DSL 发布带有空 pom 的 shadow jar?
How to publish a shadow jar with an empty pom using gradle maven-publish plugin and Kotlin DSL?
shadow 插件文档有一个 example for groovy 但我不明白如何将其翻译成 Kotlin。
Groovy 来自 https://imperceptiblethoughts.com/shadow/publishing 的示例:
publishing {
publications {
shadow(MavenPublication) { publication ->
project.shadow.component(publication)
}
}
}
我对 Kotlin 版本的最佳尝试:
publishing {
publications {
create<MavenPublication>("pluginMaven") {
artifact(tasks["shadowJar"])
project.shadow.component(this)
}
}
}
对于上述 Kotlin 版本,隐藏的依赖项 在生成的 pom 中显示为运行时依赖项,这违背了隐藏的目的。
解决方法是
tasks {
shadowJar {
archiveClassifier.set("")
minimize()
}
}
中的一些背景
shadow 插件文档有一个 example for groovy 但我不明白如何将其翻译成 Kotlin。
Groovy 来自 https://imperceptiblethoughts.com/shadow/publishing 的示例:
publishing {
publications {
shadow(MavenPublication) { publication ->
project.shadow.component(publication)
}
}
}
我对 Kotlin 版本的最佳尝试:
publishing {
publications {
create<MavenPublication>("pluginMaven") {
artifact(tasks["shadowJar"])
project.shadow.component(this)
}
}
}
对于上述 Kotlin 版本,隐藏的依赖项 在生成的 pom 中显示为运行时依赖项,这违背了隐藏的目的。
解决方法是
tasks {
shadowJar {
archiveClassifier.set("")
minimize()
}
}
中的一些背景