我正在使用Kotlin MPP插件(具有.kts支持),并且在阅读一些代码时遇到了build.gradle.kts文件,如下所示:

kotlin {
    sourceSets {
        commonMain {
            dependencies {
                api(kotlinxCollectionsImmutable)
            }
        }
    }

    dependencies {
        with(Libs) {
            commonMainApi(kotlinStdLibCommon)
            commonMainApi(kotlinxCoroutinesCommon)
        }
    }
}

声明api中的sourceSet依赖性与声明commonMainApi依赖性之间有什么区别?有没有?

最佳答案

没有不同。 commonMainApi只是执行此操作的另一种方式,不再推荐使用。链接-https://kotlinlang.ru/docs/reference/building-mpp-with-gradle.html


dependencies {
    commonMainApi 'com.example:foo-common:1.0'
    jvm6MainApi 'com.example:foo-jvm6:1.0'
}

有趣的是,此文档被描述为https://kotlinlang.org/docs/reference/building-mpp-with-gradle.html的译文,其中该段(关于替代语法)完全缺失,因此只能推断出英语版本已更新,替代语法已删除,因为此时不推荐使用或已过时。

10-08 07:12