ArrowKT - аннотация @optics не генерирует код - PullRequest
2 голосов
/ 05 октября 2019

Как вы настраиваете зависимости Arrow для @optics аннотации, чтобы они действительно работали? Сопутствующие объекты не создаются для классов данных, помеченных @optics.

. Если я не ошибаюсь, это процессор аннотаций, поэтому его следует импортировать с использованием kapt, однако документации использует его как compile.

Ответы [ 2 ]

4 голосов
/ 07 октября 2019

Для стрелки 0.10.0

apply plugin: 'kotlin-kapt'

def arrow_version = "0.10.1-SNAPSHOT"
dependencies {
    implementation "io.arrow-kt:arrow-optics:$arrow_version"
    implementation "io.arrow-kt:arrow-syntax:$arrow_version"
    kapt    "io.arrow-kt:arrow-meta:$arrow_version" // <-- this is the kapt plugin
}

затем:

@optics data class Street(val number: Int, val name: String) {
    companion object {} // <-- this is required
}
0 голосов
/ 13 октября 2019

Все объясняется в документации, я не знаю, как я это пропустил

https://arrow -kt.io / docs /

...