具有共享模块的多平台项目

时间:2018-09-13 19:45:01

标签: kotlin kotlin-multiplatform

我正在尝试创建一个具有共享依赖项的多平台项目,但是我无法找出我做错了什么。

我想创建一个库,该库生成某种配置并将该配置用于应在jvm和node.js上运行的运行时库。因此,可以共享配置数据类,并将其放入共享模块中。该代码根本不是特定于平台的。配置生成(我称为CLI)应该仅是jvm。所以我有这个模块(带有插件名称):

  • cli(org.jetbrains.kotlin.jvm)
  • 共享(kotlin-platform-common)
  • 运行时共享(kotlin-platform-common)
  • runtime-js(kotlin-platform-js)
  • runtime-jvm(kotlin-platform-jvm)

我通过compile project(":shared")设置了作为依赖关系共享的模块,但是似乎所有共享类都不在从运行时开始的模块的类路径中。

这还不可能还是我做错了什么?

1 个答案:

答案 0 :(得分:3)

要连接 common 模块(即使用-r构建的模块)及其特定于平台的实现,您应该为模块提供kotlin-platform-common的依赖而不是{{ 1}}一。

您可以在Kotlin reference或某些可用的示例项目(例如here)中找到示例构建脚本。