如何使用 dokka 生成用于存储库上传的 javadoc jar?
Posted
技术标签:
【中文标题】如何使用 dokka 生成用于存储库上传的 javadoc jar?【英文标题】:How to generate javadoc jar for repository upload with dokka? 【发布时间】:2018-01-06 12:47:19 【问题描述】:我最近将一个 java 组件迁移到了 kotlin。到目前为止,当我使用maven发布插件时,它也自动生成了javadoc,并且它也被上传到了oss.sonatype.com。另一方面,Dokka 似乎没有与开箱即用的发布插件集成。结果,上传到 oss.sonatype.com 后,nexus 拒绝发布并出现验证错误,因为缺少 javadoc jar。
dokka 是否与 maven 发布插件集成?
【问题讨论】:
【参考方案1】:发现问题。 Dokka 确实具有所需的 maven 目标 (dokka:javadocJar),但与 maven-javadoc-plugin 不同,它不受打包生命周期的约束。简单的解决方法是
<plugin>
<groupId>org.jetbrains.dokka</groupId>
<artifactId>dokka-maven-plugin</artifactId>
<version>$dokka.version</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>dokka</goal>
<goal>javadoc</goal>
<goal>javadocJar</goal>
</goals>
</execution>
</executions>
<configuration>
<includes>
<file>packages.md</file>
</includes>
</configuration>
</plugin>
【讨论】:
【参考方案2】:使用GradleMavenPush 将 Gradle android Artifacts、Gradle Java Artifacts 和 Gradle Kotlin Artifacts 上传到 Maven 存储库(JCenter、Maven Central、企业暂存/快照服务器和本地 Maven 存储库)
apply from: 'https://raw.github.com/Vorlonsoft/GradleMavenPush/master/maven-push.gradle'
你可以用它生成Dokka文档,它有task androidDokka(type: Exec, dependsOn: dokkaInitializer)
和task coreDokka(type: Exec, dependsOn: dokkaInitializer)
【讨论】:
以上是关于如何使用 dokka 生成用于存储库上传的 javadoc jar?的主要内容,如果未能解决你的问题,请参考以下文章
Dokka - 跳过为默认的 android 包生成 javadoc