如何使用 Gradle 将多个 Javadoc 合并为一个

How to combine multiple Javadoc into one using Gradle

这个问题 was answered before 但选择的答案并没有为我解释很多关于如何在 Gradle 上做到这一点。

那个以及我无法对解决方案发表评论以寻求更多信息这一事实迫使我提出这个问题。

我有一个 Gradle 项目,它有几个可用的模块,我现在想设置 Javadoc 任务以将所有模块的 Javadoc 注释合并到一个我可以浏览的位置。
我现在如何使用 Gradle 执行此操作?我 运行 Gradle 5.5 如果版本很重要,我在 build.gradle file 中设置了以下内容:

allprojects {
    ext {
        // Convenience method to configure Javadoc
        configureJavadoc = { Object jDocConfig ->
            jDocConfig.options {
                it.author()
                it.encoding = 'UTF-8'
                it.memberLevel = JavadocMemberLevel.PROTECTED

                if (it instanceof StandardJavadocDocletOptions) {
                    def opt = it as StandardJavadocDocletOptions

                    opt.links(
                            "https://docs.example.com/java/"
                    )

                    if (JavaVersion.current().isJava9Compatible()) {
                        opt.addBooleanOption("html5", true)
                        opt.addStringOption("-release", "8")
                    }

                    if (JavaVersion.current().isJava11Compatible()) {
                        opt.addBooleanOption("-no-module-directories", true)
                    }
                }
            }
        }
    }
}

subprojects {
    javadoc {
        destinationDir = file("$rootDir/docs/")
        
        configureJavadoc(it)
    }
}

我能够做到:

def exportedProjects = [
        ":",
        ":module-a",
        ":module-b",
        ":module-c"
]

task allJavadoc(type: Javadoc) {
    source exportedProjects.collect { project(it).sourceSets.main.allJava }
    classpath = files(exportedProjects.collect { project(it).sourceSets.main.compileClasspath })
    destinationDir = file("${buildDir}/docs/javadoc-all")
}