我正在尝试在我的 android 项目上使用 dokka 来生成 kdoc。 但是当我运行脚本 'modules:app [dokka]' 时出现这个错误: 无法确定任务 ':app:dokka' 的依赖关系。 kotlin.KotlinNullPointerException(无错误信息)
我在我的 gradle 文件中添加了以下行:
项目build.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"
}
Could not determine the dependencies of task ':app:dokka'. kotlin.KotlinNullPointerException (no error message)
最佳答案
问题在于它是一个多平台项目。在应用级 gradle 文件中,我还应用了 org.jetbrains.kotlin.multiplatform
插件。如 dokka github release page 中所述:
实验性 Kotlin 多平台支持计划于 0.9.19 推出
看起来除了等待 dokka 的下一个版本之外没有其他解决方案。
编辑:on the kolinlang forum 中描述了一种解决方法
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"]
}
}
关于android - 无法确定任务 ':app:dokka' 的依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56460245/