对于*没有*任何平台特定代码的 Kotlin Multiplatform (KMP) 项目,正确的项目结构是什么?

What is the right project structure for a Kotlin Multiplatform (KMP) project *without* any platform specific code?

设置一个完整的“KMP”/“KMM”项目似乎有点矫枉过正,因为只有 commonMain/commonTest 目录会被填充。

所有其他模板似乎都是特定于平台的。

是否有类似“纯”Kotlin 库模板的东西?

My-KMP-Library
│   build.gradle.kts
└───src
    └───commonMain
        └───kotlin
            └───mynamespace
            

它的多平台功能是您在 build.gradle.kts 中指定的 targets

它只是一个只有 commonMaincommonTest 的模块。您至少需要:

  1. 一个Gradle模块
  2. 该模块中具有多个目标的 Kotlin 配置
  3. 常用代码文件夹

是将应用代码放在同一个存储库中,还是将共享代码放在单独的存储库中,由您决定。不过,我不确定您可以将配置简化多少。

我认为您会 运行 遇到的一个问题是 iOS 上需要特定于平台的代码,因为并发接口与您可能想要的 Kotlin 友好接口(即 I.E. Android) 环境。对于默认参数之类的东西也是如此。