build.gradle.ktsprojectforge-wicket — веб-уровня представления на основе Wicket, который обрабатывает серверные HTML-страницы, компиляцию LESS в CSS и интеграцию с FullCalendar. Этот скрипт сборки на Kotlin DSL объявляет граф зависимостей модуля (связывая общие, бизнес- и REST-подмодули), настройки компиляции Kotlin для JVM 17 и правила обработки ресурсов, которые копируют шаблоны, JavaScript и CSS из исходных каталогов Java в выходные данные сборки вместе со статическими ресурсами веб-приложения.Модуль wicket зависит от трёх основных подмодулей ProjectForge: projectforge-common (утилиты и общая инфраструктура), projectforge-business (бизнес-логика и доступ к данным) и projectforge-rest (уровень REST API). Внешние зависимости включают расширения Wicket, интеграцию Spring и тестовую среду (все доступны через каталог версий Gradle с псевдонимами libs.*), Jakarta Servlet API, стандартную библиотеку Kotlin, дополнения WicketStuff (поддержка HTML5, компонент выпадающего списка Select2), Gson для сериализации JSON и Mozilla Rhino (выполнение JavaScript на стороне сервера).
Целевая платформа — JVM 17, что соответствует стандарту монорепозитория. Исходный код Kotlin сосуществует с унаследованным кодом Java в каталогах src/main/kotlin и src/main/java соответственно.
Пользовательская конфигурация задачи ProcessResources объединяет веб-ресурсы из двух корневых источников: src/main/java (содержит HTML-шаблоны Wicket, CSS, JS-файлы и шаблоны .tpl вместе с исходниками Java) и src/main/webapp (статические ресурсы, помещаемые в выходной каталог static/). Стратегия DuplicatesStrategy.EXCLUDE обрабатывает конфликты, когда оба каталога содержат ресурсы с одинаковыми именами.
Ссылки на зависимости были упрощены с многословных координат в стиле Maven (libs.org.apache.wicket.wicket.myextensions) до более коротких записей каталога (libs.org.apache.wicket.myextensions) в ходе модернизации Gradle — избыточный сегмент wicket. был удалён из ключей каталога.
| Коммит | Что изменилось |
|---|---|
e21feaa61 – 09b16bc25 | Серия из пяти коммитов по улучшению сборки Gradle, которые установили, протестировали и постепенно исправили конфигурацию сборки модуля. Наиболее значимое функциональное изменение (в 84a5eb6ae) — упрощение ключей каталога версий зависимостей: удаление избыточного сегмента пространства имён wicket. из псевдонимов библиотек Wicket и WicketStuff (например, libs.org.apache.wicket.wicket.myextensions → libs.org.apache.wicket.myextensions). Остальные коммиты стабилизировали плагин соглашений модуля, настройки компиляции Kotlin и стратегию обработки ресурсов. |