如何使用Dokka仅为Android项目中指定3个模块生成文档?
实现指定模块生成Dokka文档的两种方案
方案一:直接运行单个模块的Dokka任务
如果不需要合并成统一的多模块文档,直接单独执行目标模块的dokkaHtml任务即可,命令格式如下:
./gradlew :moduleA:dokkaHtml :moduleB:dokkaHtml :moduleC:dokkaHtml
将moduleA、moduleB、moduleC替换为你需要生成文档的模块名称,执行后每个模块会在各自的build/dokka/html目录下生成独立的文档。
方案二:配置自定义多模块Dokka任务(生成合并文档)
如果需要生成合并后的统一多模块文档,可在根项目的build.gradle(Groovy)或build.gradle.kts(Kotlin DSL)中添加自定义任务,仅包含指定模块:
Groovy 配置示例
task customDokkaMultiModule(type: org.jetbrains.dokka.gradle.DokkaMultiModuleTask) { // 指定要包含的模块名称 moduleNames.set(["moduleA", "moduleB", "moduleC"]) // 设置合并后文档的输出目录 outputDirectory.set(file("$buildDir/dokka/customMultiModule")) // 可按需添加其他Dokka配置,比如文档格式、插件等 }
Kotlin DSL 配置示例
tasks.register<org.jetbrains.dokka.gradle.DokkaMultiModuleTask>("customDokkaMultiModule") { // 指定要包含的模块名称 moduleNames.set(listOf("moduleA", "moduleB", "moduleC")) // 设置合并后文档的输出目录 outputDirectory.set(file("$buildDir/dokka/customMultiModule")) // 按需添加其他Dokka配置 }
配置完成后,运行以下命令即可生成指定模块的合并文档:
./gradlew customDokkaMultiModule
补充:修改默认多模块任务(可选)
如果你想直接修改默认的dokkaHtmlMultiModule任务,让它只处理指定模块,也可以在根项目的构建脚本中添加如下配置:
Groovy
dokkaHtmlMultiModule { moduleNames.set(["moduleA", "moduleB", "moduleC"]) }
Kotlin DSL
tasks.dokkaHtmlMultiModule { moduleNames.set(listOf("moduleA", "moduleB", "moduleC")) }
修改后运行原命令./gradlew dokkaHtmlMultiModule就只会生成指定模块的文档了。
内容的提问来源于stack exchange,提问作者Abhi
相关产品推荐
相关产品推荐

