Kotlin/Dokka Gradle插件使用指南

Kotlin/Dokka Gradle插件使用指南

dokka API documentation engine for Kotlin dokka 项目地址: https://gitcode.com/gh_mirrors/do/dokka

Dokka是Kotlin官方提供的文档生成工具,能够为Kotlin项目自动生成API参考文档。本文将详细介绍如何在Gradle构建的项目中使用Dokka插件。

插件应用

基础应用方式

推荐使用Gradle的plugins DSL方式应用Dokka插件:

plugins {
    id("org.jetbrains.dokka") version "%dokkaVersion%"
}

对于多模块项目,需要在子模块中也应用插件:

subprojects {
    apply(plugin = "org.jetbrains.dokka")
}

注意事项

  1. Dokka依赖Kotlin Gradle插件进行自动配置,请确保项目已应用Kotlin插件
  2. 在预编译脚本插件中使用Dokka时,需要添加Kotlin Gradle插件作为依赖

文档生成任务

单项目构建任务

Dokka支持多种输出格式,每种格式都有对应的生成任务:

| 任务名称 | 输出格式 | 说明 | |----------------|------------------------|-----------------------------| | dokkaHtml | HTML格式 | 生成标准HTML文档 | | dokkaGfm | GitHub Markdown格式 | 生成GitHub风格的Markdown文档 | | dokkaJavadoc | Javadoc格式 | 生成兼容Javadoc的文档 | | dokkaJekyll | Jekyll Markdown格式 | 生成Jekyll兼容的Markdown文档 |

默认输出目录为:build/dokka/{格式名称}

多项目构建任务

对于多模块项目,Dokka提供了特殊任务类型:

  1. MultiModule任务

    • 为每个子模块生成独立文档
    • 创建统一的目录结构
    • 解析跨模块引用
    • 任务示例:dokkaHtmlMultiModule
  2. Collector任务

    • 将所有子模块文档合并为单一项目
    • 任务示例:dokkaHtmlCollector
  3. Partial任务

    • 为子模块生成中间文档
    • 通常由MultiModule任务调用
    • 任务示例:dokkaHtmlPartial

配置示例

单项目配置

在build.gradle.kts中配置:

tasks.dokkaHtml {
    outputDirectory.set(layout.buildDirectory.dir("docs/html"))
}

tasks.withType<DokkaTask>().configureEach {
    dokkaSourceSets.configureEach {
        documentedVisibilities.set(setOf(Visibility.PUBLIC))
    }
}

多项目配置

在根项目的build.gradle.kts中统一配置:

subprojects {
    apply(plugin = "org.jetbrains.dokka")
    
    tasks.withType<DokkaTaskPartial>().configureEach {
        dokkaSourceSets.configureEach {
            includes.from("README.md")
        }
    }
}

生成javadoc.jar

发布库到Maven仓库时,通常需要提供javadoc.jar文件。可以通过自定义任务实现:

tasks.register<Jar>("dokkaJavadocJar") {
    dependsOn(tasks.dokkaJavadoc)
    from(tasks.dokkaJavadoc.flatMap { it.outputDirectory })
    archiveClassifier.set("javadoc")
}

最佳实践

  1. 对于多模块项目,优先使用MultiModule任务保持文档结构清晰
  2. 发布到Maven Central时,确保生成javadoc.jar文件
  3. 使用统一的可见性配置,保持API文档一致性
  4. 对于内部API,使用perPackageOption进行过滤

通过合理配置Dokka Gradle插件,可以轻松为Kotlin项目生成专业、规范的API文档,提升项目的可维护性和开发者体验。

dokka API documentation engine for Kotlin dokka 项目地址: https://gitcode.com/gh_mirrors/do/dokka

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

田慧娉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值