如何使用 Gradle Kotlin DSL 为所有 jar 添加前缀

How to add prefix to all jars using Gradle Kotlin DSL

我有一个根 Gradle 项目,其组 ID 为 org.name 和多个名为 org.name.oneorg.name.twoorg.name.three 的子项目。

目前 .jars 生成为 one-1.0.jartwo-1.0.jarthree-1.0.jar 但是我希望它们被命名为 name-one-1.0.jarname-two-1.0.jarname-three-1.0.jar.

如何使用 Kotlin DSL(build.gradle.kts 个文件)实现它?

假设你用shadow插件打包一个fat jar。

如果你使用 gradle shadow 插件,你可以像下面这样来控制 jar 名称:

tasks {
  withType<ShadowJar> {
    archiveBaseName.set("foo-${project.name}")
  }
}

如有子项目,可申请allprojects/subprojects:

allprojects {
  tasks {
    withType<ShadowJar> {
      archiveBaseName.set("foo-${project.name}")
    }
  }
}