EN · DE · RU · FR · ES

#2769: build.gradle.kts

projectforge-wicket/build.gradle.kts Gradle-Build-Skript (Kotlin DSL) · projectforge-wicket/build.gradle.kts 51 Zeilen · 45 Code · 0 Kommentare · 6 leer
Die Gradle-Build-Konfiguration für das Modul projectforge-wicket – die Wicket-basierte Web-Präsentationsschicht, die serverseitig gerenderte HTML-Seiten, LESS-zu-CSS-Kompilierung und die FullCalendar-Integration übernimmt. Dieses Kotlin-DSL-Build-Skript deklariert den Abhängigkeitsgraphen des Moduls (mit Verknüpfungen zu den Submodulen common, business und REST), Kotlin-Kompilierungseinstellungen für JVM 17 sowie Ressourcenverarbeitungsregeln, die Vorlagen, JavaScript und CSS aus Java-Quellverzeichnissen zusammen mit statischen Webapp-Assets in die Build-Ausgabe kopieren.

Architektur

Abhängigkeitsgraph

Das Wicket-Modul hängt von drei zentralen ProjectForge-Submodulen ab: projectforge-common (Hilfsprogramme und gemeinsame Infrastruktur), projectforge-business (Domänenlogik und Datenzugriff) und projectforge-rest (REST-API-Schicht). Zu den externen Abhängigkeiten gehören Wickets Erweiterungen, Spring-Integration und Test-Harness (alle über Gradle-Versionskatalog-Aliase libs.* referenziert), Jakarta Servlet API, Kotlin stdlib, WicketStuff-Add-ons (HTML5-Unterstützung, Select2-Dropdown-Komponente), Gson für JSON-Serialisierung und Mozilla Rhino (serverseitige JavaScript-Ausführung).

Kotlin-Kompilierung

Ziel ist JVM 17 – entsprechend dem Standard des Monorepos. Kotlin-Quellcode existiert neben Legacy-Java-Quellcode in src/main/kotlin bzw. src/main/java.

Ressourcenverarbeitung

Die benutzerdefinierte ProcessResources-Task-Konfiguration führt Web-Ressourcen aus zwei Quellwurzeln zusammen: src/main/java (enthält Wicket-HTML-Vorlagen, CSS-, JS-Dateien und .tpl-Vorlagen neben Java-Quellen) und src/main/webapp (statische Assets, die in ein Ausgabeverzeichnis static/ gelegt werden). Die DuplicatesStrategy.EXCLUDE behandelt Konflikte, wenn beide Verzeichnisse gleichnamige Ressourcen enthalten.

Versionskatalog-Migration

Die Abhängigkeitsreferenzen wurden von ausführlichen Maven-ähnlichen Koordinaten (libs.org.apache.wicket.wicket.myextensions) auf kürzere Katalogeinträge (libs.org.apache.wicket.myextensions) vereinfacht – das redundante wicket.-Segment wurde während der Gradle-Modernisierung aus den Katalogschlüsseln entfernt.

Git-Verlauf

CommitWas geändert wurde
e21feaa61 bis 09b16bc25Eine Serie von fünf Gradle-Build-Verfeinerungs-Commits, die die Build-Konfiguration des Moduls etablierten, testeten und schrittweise korrigierten. Die bedeutendste funktionale Änderung (in 84a5eb6ae) war die Vereinfachung der Abhängigkeits-Versionskatalog-Schlüssel: Entfernung des redundanten wicket.-Namespace-Segments aus den Wicket- und WicketStuff-Bibliotheksaliasen (z. B. libs.org.apache.wicket.wicket.myextensionslibs.org.apache.wicket.myextensions). Andere Commits stabilisierten das Modul-Conventions-Plugin, die Kotlin-Kompilierungseinstellungen und die Ressourcenverarbeitungsstrategie.