1

我已经在 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`

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

4

0 回答 0