如何使用 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")
}
这个问题 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")
}