Я смотрел только включив плагин KSP в файл сборки Android: < /p>
Код: Выделить всё
plugins {
// ...
alias(libs.plugins.ksp)
}
// ...
dependencies {
// ...
add("kspAndroid", libs.arrow.optics.ksp)
}
Код: Выделить всё
[versions]
arrow = "2.1.2"
[libraries]
arrow-optics-ksp = { module = "io.arrow-kt:arrow-optics-ksp-plugin", version.ref = "arrow" }
< /code>
При этом код генерируется, и IDE распознает его. < /p>
Мой пример: < /p>
fun test() {
val foo = Foo("bar")
Foo.bar.set(foo, "baz")
}
@optics
data class Foo(val bar: String) {
companion object;
}
< /code>
Однако, когда я на самом деле пытаюсь создать его, я получаю исключение, говоря: неразрешенная ссылка 'bar'. < /code>
Так что мне кажется, что Gradle не могу найти сгенерированный код для процесса сборки. нравится добавлять плагин Optics к KPS в общий код и остальную часть моего проекта.
(я попробовал это, но также не повезло с ним). < /p>
Информация о проекте. < /h1>
[list]
[*] composeApp/build/generated/ksp/android/androidDebug/kotlin/essens/planer/app/Foo__Optics.kt< /li>
Структура проекта: < /p>
< /li>
< /ol>
Careed
Commonmain < /li>
commontest < /li>
< /ul>
< /li>
< /ul> < /li>
< /li>
< /> /> composeapp
androidmain < /li>
AndroidUnittest < /li>
Commonmain < /li>
< /ul>
(java)
< /li> < /li> < /li> < /li> /> test < /li>
< /ul>
< /li>
< /ul>
Версии
gradle version: 8.11.1
kotlin версия: 2.2.0
ksp версия: 2.2.0-2.0.2
ruro: 2.1
ksp версия: 2.2.0-2.0.2
rrow: 2.1 < /> li. /> [/list]
ссылки, которые я посетил в своем поиске решения:
https://slack-chats.kotlinlang.org/t/15 ... row-ptics- />https://github.com/arrow-kt/arrow/issues/2924
[*] Стрелка Kotlin "Optics" неразрешенная справка
[*] Как настроить ksp in androd grappy grovy dsl build Файлы
[*]https://docs.gradle.org/current/dsl/org ... ryset.html
[*] Debug. />https://old.arrow-kt.io/docs/optics/
[*] Недоотровенный ссылка в котлинском оптическом данных Справочник
[*]https://kotlinlang.org/docs/ksp-quickst ... -a-project
[*]https://github.com/arrow-kt/arrow/issues/2646
любая помощь.
Подробнее здесь: https://stackoverflow.com/questions/797 ... mp-project
Мобильная версия