具有共享模块的多平台项目
Multiplatform project with shared module
我正在尝试创建一个具有共享依赖项的多平台项目,但我找不到我做错了什么。
背景是我想创建一个生成某种配置的库,并将该配置用于 运行time 库,它应该 运行 在 jvm 和 node.js 上。所以配置数据 类 可以共享,我想把它放在一个共享模块中。该代码根本不是特定于平台的。配置生成(我称之为 CLI)应该只是 jvm。所以我有这个模块(带有插件名称):
- cli (org.jetbrains.kotlin.jvm)
- 共享(kotlin 平台通用)
- 运行分时(kotlin-platform-common)
- 运行time-js (kotlin-platform-js)
- 运行time-jvm (kotlin-platform-jvm)
我通过 compile project(":shared")
将共享模块设置为依赖项,但共享 类 的 none 似乎在以 [=36= 开头的模块的类路径中]时间。
这还不可能还是我做错了什么?
要将 通用 模块(即使用 kotlin-platform-common
构建的模块)与其特定于平台的实现相连接,您应该为它们提供 expectedBy project(':shared')
依赖项而不是 compile
一个。
您可以在 Kotlin reference or in some of the available sample projects, like here 中找到示例构建脚本。
我正在尝试创建一个具有共享依赖项的多平台项目,但我找不到我做错了什么。
背景是我想创建一个生成某种配置的库,并将该配置用于 运行time 库,它应该 运行 在 jvm 和 node.js 上。所以配置数据 类 可以共享,我想把它放在一个共享模块中。该代码根本不是特定于平台的。配置生成(我称之为 CLI)应该只是 jvm。所以我有这个模块(带有插件名称):
- cli (org.jetbrains.kotlin.jvm)
- 共享(kotlin 平台通用)
- 运行分时(kotlin-platform-common)
- 运行time-js (kotlin-platform-js)
- 运行time-jvm (kotlin-platform-jvm)
我通过 compile project(":shared")
将共享模块设置为依赖项,但共享 类 的 none 似乎在以 [=36= 开头的模块的类路径中]时间。
这还不可能还是我做错了什么?
要将 通用 模块(即使用 kotlin-platform-common
构建的模块)与其特定于平台的实现相连接,您应该为它们提供 expectedBy project(':shared')
依赖项而不是 compile
一个。
您可以在 Kotlin reference or in some of the available sample projects, like here 中找到示例构建脚本。