3

我正在尝试在我的 android 项目上使用 dokka 来生成 kdoc。但是当我运行脚本'modules:app [dokka]'时出现此错误:无法确定任务':app:dokka'的依赖关系。kotlin.KotlinNullPointerException(无错误消息)

我在我的 gradle 文件中添加了以下几行:

项目构建.gradle

buildscript {
    ext {
        dokka_version = '0.9.18'
    }
    dependencies {
        classpath "org.jetbrains.dokka:dokka-android-gradle-plugin:$dokka_version"
    }
}

应用程序构建.gradle

plugins {
    id 'org.jetbrains.dokka-android'
}
dokka {
    outputFormat = 'html'
    sourceDirs = files('src/main')
    outputDirectory = "$buildDir/javadoc"
}

无法确定任务 ':app:dokka' 的依赖关系。kotlin.KotlinNullPointerException(无错误消息)

4

1 回答 1

1

问题是它是一个多平台项目。在应用程序级别的 gradle 文件中,我也在应用org.jetbrains.kotlin.multiplatform插件。如dokka github 发布页面中所述:

Experimental Kotlin Multiplatform support is scheduled for 0.9.19

似乎没有其他解决方案,只能等待 dokka 的下一个版本。

编辑:在 kolinlang 论坛上描述了一种解决方法

dokka {
    impliedPlatforms = ["common"] // This will force platform tags for all non-common sources e.g. "JVM"
    kotlinTasks {
        // dokka fails to retrieve sources from MPP-tasks so they must be set empty to avoid exception
        // use sourceRoot instead (see below)
        []
    }
    sourceRoot {
        // assuming there is only a single source dir...
        path = kotlin.sourceSets.commonMain.kotlin.srcDirs[0]
        platforms = ["common"]
    }
}
于 2019-07-04T12:17:11.433 回答