Сложность использования кодекса Моши Котлина - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь использовать кодер Moshi's Kotlin для получения поддержки аннотаций в Kotlin.Несмотря на тщательное выполнение инструкций документации кодекса moshi , аннотация JsonClass в @JsonClass(generateAdapter = true) не распознается, и я получаю следующую ошибку:

error: incompatible types: NonExistentClass cannot be converted to Annotation@error.NonExistentClass()

Файл моего приложения build.gradle выглядит следующим образом:

...
apply plugin: 'kotlin-kapt'

android {
    ...
}

dependencies {
    ...
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-moshi:2.5.0'

    kapt 'com.squareup.moshi:moshi-kotlin-codegen:1.8.0'
}

Аннотация @JsonClass распознается при добавлении

implementation("com.squareup.moshi:moshi-kotlin:1.8.0").

Однако Документация отражения moshi указывает, что эта зависимость требуется только при использовании отражения вместо codegen.

Есть идеи, что мне не хватает?Спасибо!

1 Ответ

0 голосов
/ 05 марта 2019

@JsonClass - это тип в стандартном артефакте Моши.Артефакт converter-moshi Retrofit вводит Моши транзитивно, но не имеет последней версии Моши. Укажите implementation("com.squareup.moshi:moshi:1.8.0").

...