build.gradle.ktsprojectforge-wicket — la capa de presentación web basada en Wicket que maneja páginas HTML renderizadas en servidor, compilación LESS a CSS y la integración con FullCalendar. Este script de compilación en DSL Kotlin declara el grafo de dependencias del módulo (enlazando a los submódulos common, business y REST), la configuración de compilación de Kotlin orientada a JVM 17 y las reglas de procesamiento de recursos que copian plantillas, JavaScript y CSS desde los directorios fuente de Java a la salida de compilación junto con los activos estáticos de la aplicación web.El módulo wicket depende de tres submódulos centrales de ProjectForge: projectforge-common (utilidades e infraestructura compartida), projectforge-business (lógica de dominio y acceso a datos) y projectforge-rest (capa de API REST). Las dependencias externas incluyen las extensiones de Wicket, la integración con Spring y el arnés de pruebas (todo accedido mediante los alias del catálogo de versiones de Gradle libs.*), Jakarta Servlet API, la stdlib de Kotlin, los complementos de WicketStuff (soporte HTML5, componente desplegable Select2), Gson para serialización JSON y Mozilla Rhino (ejecución de JavaScript del lado del servidor).
Orientado a JVM 17 — coincidiendo con el estándar del monorepositorio. El código Kotlin coexiste con el código Java heredado en src/main/kotlin y src/main/java respectivamente.
La configuración personalizada de la tarea ProcessResources fusiona los recursos web desde dos raíces de origen: src/main/java (que contiene plantillas HTML de Wicket, archivos CSS, JS y plantillas .tpl junto con los fuentes Java) y src/main/webapp (activos estáticos colocados en un directorio de salida static/). La DuplicatesStrategy.EXCLUDE maneja los conflictos cuando ambos directorios contienen recursos con nombres idénticos.
Las referencias de dependencias se simplificaron de coordenadas verbosas al estilo Maven (libs.org.apache.wicket.wicket.myextensions) a entradas de catálogo más cortas (libs.org.apache.wicket.myextensions) durante el esfuerzo de modernización de Gradle — el segmento redundante wicket. se eliminó de las claves del catálogo.
| Commit | Qué cambió |
|---|---|
e21feaa61 hasta 09b16bc25 | Una serie de cinco commits de refinamiento de la compilación Gradle que establecieron, probaron y corrigieron progresivamente la configuración de compilación del módulo. El cambio funcional más significativo (en 84a5eb6ae) fue la simplificación de las claves del catálogo de versiones de dependencias: eliminación del segmento de espacio de nombres wicket. redundante de los alias de las bibliotecas Wicket y WicketStuff (por ejemplo, libs.org.apache.wicket.wicket.myextensions → libs.org.apache.wicket.myextensions). Otros commits estabilizaron el plugin de convenciones del módulo, la configuración de compilación de Kotlin y la estrategia de procesamiento de recursos. |