这个问题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/