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

时间:2018-01-06 12:47:19

标签: maven kotlin nexus maven-release-plugin kotlin-dokka

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

nexus validation results

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

2 个答案:

答案 0 :(得分:3)

发现问题。 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>

答案 1 :(得分:0)

使用GradleMavenPush将Gradle Android工件,Gradle Java工件和Gradle Kotlin工件上载到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)