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

标签 java gradle javadoc

这个问题was answered before但所选的答案并没有为我解释如何在 Gradle 上实现这一点。

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

我有一个 Gradle 项目,其中有多个可用模块,现在我想要设置 Javadoc 任务,将所有模块的 Javadoc 注释合并到一个可以浏览的位置。
我现在如何使用 Gradle 来做到这一点?如果版本很重要,我会运行 Gradle 5.5,并且我在 build.gradle 文件 中设置了以下内容:

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")
}

关于java - 如何使用 Gradle 将多个 Javadoc 合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63287292/

相关文章:

java - 当我尝试向aspectJ添加新建议时出现"adviceDidNotMatch"警告

java - LibGDX - 多台机器上的库

java - 有自动更新Javadoc的工具吗?

java - 我应该使用 "non-Javadoc"评论吗?

java - 为什么我不能初始化这个 List<List<String>>?

java - 如何使用 Swing 计时器

android studio - if条件下的依赖 - 标志

android - 无法解决 : com. github.barteksc :android-pdf-viewer:3. 2.0-beta.1 如何解决此问题

java - 如何将 javadoc 与项目集成

java - 使用 Spring 当文件名包含 "#"时找不到文件资源