gpt4 book ai didi

gradle - 如何将项目依赖项添加到由 `kotlin-multiplatform` 插件创建的特定平台目标?

转载 作者:行者123 更新时间:2023-12-02 13:12:56 28 4
gpt4 key购买 nike

以前,使用 Gradle 构建多平台项目依赖于每个目标平台的单独 Gradle 插件:kotlin-platform-common , kotlin-platform-js , 和 kotlin-platform-jvm .

Starting from Kotlin 1.3 , 现在统一使用一个 kotlin-multiplatform插入。 The current documentation specifies how to set up multiplatform projects using this approach .

但是,在我的项目中,我有多个多平台项目,它们之间存在一些依赖关系。对于旧的多平台配置,每个不同的平台都是一个单独的模块,并且在项目之间添加依赖项需要将每个特定于平台的模块中的项目引用添加到另一个项目中的相应模块:例如,project(':some-library:some-library-js')从另一个 JS 模块中添加对 JS 模块的依赖项。

在迁移到新的多平台配置时,我现在需要将使用旧配置方法配置的项目的依赖项添加到使用新的 kotlin-multiplatform 配置的项目中。插入。

鉴于平台特定的模块现在由新插件指定和管理,我该怎么做?

最佳答案

我不确定以下方法是否是推荐的方法,或者我忽略了任何潜在问题,但我的项目编译并且所有测试都通过了。

在 Gradle 中,您可以将依赖项添加到特定的项目配置中:

dependencies {
implementation project(path: ':some-library', configuration: 'configName')
}

通过反复试验,我发现为每个平台模块类型指定以下配置依赖项是可行的:
  • 常见:configuration: 'archives' .如果没有这个,Gradle 配置将失败,因为找不到代码依赖项。

  • 如果没有以下内容,编译将失败:
  • 虚拟机:configuration: 'jvmDefault'
  • js: configuration: 'jsDefault'

  • 例如,对于问题中指定的 JS 模块:
    dependencies {
    implementation project(path: ':some-library', configuration: 'jsDefault')
    }

    关于gradle - 如何将项目依赖项添加到由 `kotlin-multiplatform` 插件创建的特定平台目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55280650/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com