如何在文档中添加第三方库参考

时间:2019-07-11 10:40:55

标签: android kotlin kotlin-dokka

我已经在顶级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/f2prateek/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`

也许不可能有关于这种依赖的链接? 我只想记录我的代码,但是有框架和第三方依赖项的外部链接,这是真的吗?

0 个答案:

没有答案