在元数据依赖项中生成 类(使用 kapt)

Generated Classes (with kapt) in metadata-dependency

我们有一个多平台项目,使用 kapt 为 commonMain 中带注释的 类 生成源代码。 源由名为“generated”的自定义 SourceSet 添加到 jvm 和 js 目标。这很好用。

我们现在必须依赖另一个多平台项目的 commonMain。不幸的是,生成的 SourceSet 中的 类 仅添加到 jvm 和 js jar,但没有添加到用于解析 commonMain 依赖项的元数据(因为我们只能依赖于从 jvmMain 和 jsMain 生成,而不是从 commonMain 生成(循环依赖))。

我们如何将生成的 类 添加到元数据工件?

为此,我们向 commonMain SourceSet 添加了以下行:

tasks.getByName("compileKotlinMetadata").dependsOn("kaptKotlinJvm")
kotlin.srcDir("$buildDir/generated/source/kaptKotlin/main")