我已经在 top build.gradle 中实现了 dokka
apply plugin: 'org.jetbrains.dokka-android'
dokka {
// These tasks will be used to determine source directories and classpath
// see https://github.com/Kotlin/dokka/blob/master/README.md
kotlinTasks {
defaultKotlinTasks() + [':core:compileDebugKotlin']
}
}
在核心模块中,我有想要记录的界面:
import com.f2prateek.rx.preferences2.RxSharedPreferences
/**
* Интерфейс для работы с [android.content.SharedPreferences] с помощью [RxSharedPreferences]
*
* @property prefs Свойство для доступа к [android.content.SharedPreferences] через [RxSharedPreferences]
* @see RxSharedPreferences
*/
interface FeaturePrefs {
val prefs: RxSharedPreferences
}
当我运行 dokka 任务时,我收到警告
Can't find node by signature `com.f2prateek.rx.preferences2.RxSharedPreferences`, referenced at my.package.FeaturePrefs (FeaturePrefs.kt:5)
有没有办法在文档中使用第三方库?我想将其配置为引用 github 源代码(https://github.com/f2pratek/rx-preferences)。已经尝试通过“externalDocumentationLink”配置它,但没有运气,找不到任何引用此库的 javadoc/package-list。
如果您单击文档中的 android.content.SharedPreferences,您将被重定向到https://developer.android.com/reference/android/content/SharedPreferences.html,我想为 rxprefs 实现相同的行为(重定向到 github)
UPD:dokka 配置从根 build.gradle 移动到应用程序的:
apply plugin: 'org.jetbrains.dokka-android'
dokka {
externalDocumentationLink {
url = new URL("http://reactivex.io/RxJava/javadoc/")
}
externalDocumentationLink {
url = new URL("http://jakewharton.github.io/timber/")
}
externalDocumentationLink {
url = new URL("https://dagger.dev/api/2.0/")
}
Set<ProjectDependency> deps =
project.configurations.collectMany {
it.allDependencies
}.findAll {
it instanceof ProjectDependency
}
sourceDirs = files(deps.collect {
p ->
def path = new File(p.getDependencyProject().projectDir, "/src/main/java")
return path
})
}
我添加了一些外部文档部门,但仍然收到很多警告,例如
Can't find node by signature `javax.inject.Provider`
或者
Can't find node by signature `androidx.fragment.app.Fragment`
也许不可能有那种依赖关系的链接?我只想记录我的代码,但有框架和第三方依赖项的外部链接,这是真的吗?