Kotlin Arrow Optics KSP плагин внутри проекта KMPAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Kotlin Arrow Optics KSP плагин внутри проекта KMP

Сообщение Anonymous »

Я пытаюсь получить плагин KSP для оптики со стрелками в проекте KMP.
Я смотрел только включив плагин KSP в файл сборки Android: < /p>

Код: Выделить всё

plugins {
// ...
alias(libs.plugins.ksp)
}

// ...

dependencies {
// ...
add("kspAndroid", libs.arrow.optics.ksp)
}
где 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
while the generated code from the room ksp plugin is located in composeApp/build/generated/ksp/android/androidDebug/kotlin/essens/planer/data/
< /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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»