Чего я хочу достичь:Я хочу применить принципы чистой архитектуры, разделив мой проект Ktor на несколько модулей, таких как данные, домен, презентация и т. д. Чтобы сделать настройку сборки более понятной, я создал модуль build-logic для хранения плагинов соглашения Kotlin, которые я могу повторно использовать в модулях моего проекта.
Текущая настройка:
Я добавил build-logic > для хранения моих пользовательских плагинов.
В моем файле settings.gradle.kts я включил модуль build-logic со следующим:
Код: Выделить всё
pluginManagement {
includeBuild("build-logic")
}
Моя логика сборки /build.gradle.kts выглядит следующим образом:
Код: Выделить всё
gradlePlugin {
plugins {
register("ktorLibrary") {
id = "sermilion.ktor.library"
implementationClass = "KtorLibraryConventionPlugin"
}
}
}
Код: Выделить всё
sermilion-ktor-library = { id = "sermilion.ktor.library", version = "unspecified" }
Код: Выделить всё
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