将 withJavadocJar() 和 withSourcesJar() 应用于多模块构建中的所有子项目

lig*_*igi 2 gradle kotlin

目前我有:

java {
    withJavadocJar()
    withSourcesJar()
}
Run Code Online (Sandbox Code Playgroud)

在多模块构建中模块的所有 build.gradle.kts 文件中。使用 gradle 和 groovy 我可以在根 gradle 文件中包含这个 - 但我似乎无法使用 kotlin gradle 文件来做到这一点。任何人都知道如何做到这一点?

Sla*_*law 6

将以下内容放在根build.gradle.kts文件中应该可以工作:

subprojects {
    apply<JavaPlugin>() // or: apply(plugin = "java")

    configure<JavaPluginExtension> {
        withSourcesJar()
        withJavadocJar()
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,Kotlin DSL 在交叉配置项目时失去了一些易用性。有关更多信息,请参阅Gradle Kotlin DSL 入门指南。