背景
经过大量的研究和尝试,并寻求帮助,我成功地在 Jitpack 上使用 maven 发布了一个私有(private)的 Github 存储库(写为 here)。
所以,目前我放在 Jitpack 存储库中的文件就是这些:
问题
虽然依赖关系问题和 AAR 文件本身都很好,并且我可以使用该库,但我注意到我无法找到一种方法将我在那里编写的内容作为 KDoc(如 JavaDocs,但对于 Kotlin)提供给任何使用它的人。
我试过的
除了各种 gradle 任务,我还尝试了 Android Studio 本身的简单操作来制作它。由于没有提到 KDoc,我使用了
Tools
-> Generate JavaDocs
反而。可悲的是,它告诉我没有,而且确实报告了 here .
但即使它确实成功了,我也不知道如何将它与其余文件一起发布。
问题
我希望这是可能的,但是如何在 Jitpack 上使用 maven 生成和公开 KDoc?
最佳答案
您需要使用 Dokka 来自动记录 Kotlin 项目。您可以在 this article 上找到 Dokka 的简要说明。如果需要,还可以阅读文档。
Using the Gradle plugin
The preferred way is to use plugins block.
build.gradle.kts: plugins { id("org.jetbrains.dokka") version "1.4.32" } repositories { mavenCentral() }
The plugin adds
dokkaHtml
,dokkaJavadoc
,dokkaGfm
anddokkaJekyll
tasks to the project.
Applying plugins
Dokka plugin creates Gradle configuration for each output format in the form of
dokka${format}Plugin
:dependencies { dokkaHtmlPlugin("org.jetbrains.dokka:kotlin-as-java-plugin:1.4.32") }
You can also create a custom Dokka task and add plugins directly inside:
val customDokkaTask by creating(DokkaTask::class) { dependencies { plugins("org.jetbrains.dokka:kotlin-as-java-plugin:1.4.32") } }
Please note that dokkaJavadoc task will properly document only single jvm source set
To generate the documentation, use the appropriate dokka${format} Gradle task:
./gradlew dokkaHtml
Please see the Dokka Gradle example project for an example.
Make sure you apply Dokka after
com.android.library
andkotlin-android
.buildscript { dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}") classpath("org.jetbrains.dokka:dokka-gradle-plugin:${dokka_version}") } } repositories { mavenCentral() } apply(plugin= "com.android.library") apply(plugin= "kotlin-android") apply(plugin= "org.jetbrains.dokka") dokkaHtml.configure { dokkaSourceSets { named("main") { noAndroidSdkLink.set(false) } } }
更多官方 GitHub 存储库 - https://github.com/Kotlin/dokka
您可能会喜欢 this article也是。
关于android - 如何在 Jitpack 上使用 maven 为 Kotlin 库发布 KDoc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67267094/