Проблема с пользовательским плагином в многомодульном проекте Ktor (ошибка «Нет значения»)Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с пользовательским плагином в многомодульном проекте Ktor (ошибка «Нет значения»)

Сообщение Anonymous »

В настоящее время я изучаю серверную разработку с помощью Ktor и изучаю настройку многомодульного проекта, аналогичную той, которую я делал при разработке для Android. Примечание. Когда я говорю о «модулях», я имею в виду реальные модули проекта (например, в Android), а не терминологию модулей, специфичную для Ktor.
Чего я хочу достичь:Я хочу применить принципы чистой архитектуры, разделив мой проект Ktor на несколько модулей, таких как данные, домен, презентация и т. д. Чтобы сделать настройку сборки более понятной, я создал модуль build-logic для хранения плагинов соглашения Kotlin, которые я могу повторно использовать в модулях моего проекта.
Текущая настройка:
Я добавил build-logic > для хранения моих пользовательских плагинов.
В моем файле settings.gradle.kts я включил модуль build-logic со следующим:

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

pluginManagement {
includeBuild("build-logic")
}
В модуле build-logic я создал класс KtorLibraryConventionPlugin, представляющий соглашение о плагинах для библиотек Ktor.
Моя логика сборки /build.gradle.kts выглядит следующим образом:

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

gradlePlugin {
plugins {
register("ktorLibrary") {
id = "sermilion.ktor.library"
implementationClass = "KtorLibraryConventionPlugin"
}
}
}
В libs.versions.toml я определил плагин:

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

sermilion-ktor-library = { id = "sermilion.ktor.library", version = "unspecified" }
Я применяю плагин в build.gradle.kts моего основного модуля следующим образом:

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

alias(libs.plugins.sermilion.ktor.library)
Проблема:
Когда я пытаюсь собрать проект, возникает следующая ошибка:

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

Build file 'C:\Users\username\IdeaProjects\ProjectName\build.gradle.kts' line: 4
An exception occurred applying plugin request [id: 'sermilion.ktor.library', version: 'unspecified']
> Failed to apply plugin 'sermilion.ktor.library'.
> No value present
Я застрял на этом несколько часов и не могу понять, в чем дело.
Вопросы:
Это установка нескольких модулей (с фактическими отдельными модулями, такими как данные, домен и т. д.) является ли допустимым подходом в проектах Ktor? Я хочу убедиться, что это имеет смысл, прежде чем углубляться.
Чего мне не хватает в моей настройке плагина, что вызывает ошибку «Нет значения»? Я подозреваю, что это может быть связано с тем, как я регистрирую плагин или ссылаюсь на него в libs.versions.toml.
Буду очень признателен за любую помощь или совет. Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... sent-error
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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