无法确定任务':app:dokka'的依赖项

时间:2019-06-05 12:11:20

标签: android kotlin android-gradle kotlin-multiplatform kotlin-dokka

我正在尝试在我的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"
    }
}

app build.gradle

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

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

1 个答案:

答案 0 :(得分:0)

问题在于这是一个多平台项目。在应用程序级别的gradle文件中,我还将应用org.jetbrains.kotlin.multiplatform插件。如dokka github release page中所述:

Experimental Kotlin Multiplatform support is scheduled for 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"]
    }
}