kotlin - 元数据相关性的生成类(带有kapt)

标签 kotlin gradle kapt

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

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

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

最佳答案

为此,我们在commonMain SourceSet中添加了以下几行:

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

关于kotlin - 元数据相关性的生成类(带有kapt),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62283259/

相关文章:

android - 使用 teamcity 使用 gradle 构建 android 项目时出错

Android 库、Kotlin 和 Dagger2

eclipse - Kotlin 无法使用 Eclipse 工作区解析

java - Android:从头开始重建现有项目

java - 为什么 ":project:testXlib"会取代 ":project:test"Gradle 任务?它是如何工作的?

Gradle, 'url' 不能应用于 (java.lang.String)

android - 房间 "Not sure how to convert a Cursor to this method' s 返回类型": which method?

android - 错误 : [Dagger/MissingBinding] Map<Class<? 扩展 ViewModel>,如果没有 @Provides-annotated 方法,就无法提供 Provider<ViewModel>>

android - 更新至 Android Studio 3.0。收到 "Kotlin not configured"错误

android - 使用 AppCompatButton 崩溃的 MaterialTimePicker 无法转换为 MaterialButton