如何使用 dokka 生成用于存储库上传的 javadoc jar?

How to generate javadoc jar for repository upload with dokka?

我最近将一个 java 组件迁移到了 kotlin。到目前为止,当我使用 maven 发布插件时,它也自动生成了 javadoc,并且它也被上传到 oss.sonatype.com。另一方面,Dokka 似乎没有与开箱即用的发布插件集成。结果,在上传到 oss.sonatype.com 后,nexus 拒绝发布并出现验证错误,因为缺少 javadoc jar。

是否有dokka与maven发布插件的集成?

找到问题了。 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>

使用GradleMavenPush将GradleAndroid工件、GradleJava工件和GradleKotlin工件上传到Maven存储库(JCenter, Maven Central、企业 staging/snapshot 服务器和本地 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)