build.gradle.ktsprojectforge-wicket — la couche de présentation web basée sur Wicket qui gère les pages HTML rendues côté serveur, la compilation LESS vers CSS et l'intégration FullCalendar. Ce script de construction en DSL Kotlin déclare le graphe de dépendances du module (liant les sous-modules common, business et REST), les paramètres de compilation Kotlin ciblant JVM 17, et les règles de traitement des ressources qui copient les modèles, JavaScript et CSS des répertoires source Java vers la sortie de construction aux côtés des actifs statiques de l'application web.Le module wicket dépend de trois sous-modules principaux de ProjectForge : projectforge-common (utilitaires et infrastructure partagée), projectforge-business (logique métier et accès aux données) et projectforge-rest (couche API REST). Les dépendances externes incluent les extensions de Wicket, l'intégration Spring et le harnais de test (tous accessibles via les alias du catalogue de versions Gradle libs.*), l'API Jakarta Servlet, la bibliothèque standard Kotlin, les modules complémentaires WicketStuff (support HTML5, composant de liste déroulante Select2), Gson pour la sérialisation JSON et Mozilla Rhino (exécution JavaScript côté serveur).
Cible JVM 17 — correspondant à la norme du monorepo. Le code source Kotlin coexiste avec le code source Java hérité dans src/main/kotlin et src/main/java respectivement.
La configuration personnalisée de la tâche ProcessResources fusionne les ressources web provenant de deux racines source : src/main/java (contenant les modèles HTML Wicket, les fichiers CSS, JS et les modèles .tpl aux côtés des sources Java) et src/main/webapp (actifs statiques placés dans un répertoire de sortie static/). La DuplicatesStrategy.EXCLUDE gère les conflits lorsque les deux répertoires contiennent des ressources portant le même nom.
Les références de dépendances ont été simplifiées, passant de coordonnées Maven verbeuses (libs.org.apache.wicket.wicket.myextensions) à des entrées de catalogue plus courtes (libs.org.apache.wicket.myextensions) lors de l'effort de modernisation de Gradle — le segment redondant wicket. a été supprimé des clés du catalogue.
| Commit | Ce qui a changé |
|---|---|
e21feaa61 à 09b16bc25 | Une série de cinq commits de raffinement de la construction Gradle qui ont établi, testé et progressivement corrigé la configuration de construction du module. Le changement fonctionnel le plus significatif (dans 84a5eb6ae) a été la simplification des clés du catalogue de versions des dépendances : suppression du segment d'espace de noms wicket. redondant des alias de bibliothèque Wicket et WicketStuff (par exemple, libs.org.apache.wicket.wicket.myextensions → libs.org.apache.wicket.myextensions). Les autres commits ont stabilisé le plugin de conventions du module, les paramètres de compilation Kotlin et la stratégie de traitement des ressources. |