build.gradle.kts (projectforge-common)| Plugin | Propósito |
|---|---|
buildlogic.pf-module-conventions | Plugin de convenciones Gradle personalizado de ProjectForge (definido en buildSrc/) — aplica lógica de compilación compartida en todos los módulos (configuración de compilación Java, configuración de repositorio, controles de calidad de código) |
org.jetbrains.kotlin.jvm | Plugin de compilador Kotlin JVM — permite la compilación de Kotlin junto con fuentes Java |
tasks.withType<KotlinCompile> {
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
}
}
Todo el código fuente Kotlin se compila a bytecode Java 17. Esto se alinea con la línea base Java 17 del proyecto (también reflejada en el enum DatabaseDialect que referencia dialectos Hibernate 6 y el uso del espacio de nombres Jakarta EE en otros lugares).
tasks.withType<Test> {
useJUnitPlatform()
testLogging {
events("PASSED", "FAILED", "SKIPPED", "STANDARD_OUT", "STANDARD_ERROR")
exceptionFormat = org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
showStandardStreams = true
}
}
Utiliza JUnit Platform (JUnit 5) para el descubrimiento y ejecución de pruebas. El registro de pruebas está configurado para una salida detallada que muestra todos los eventos de prueba, trazas completas de excepciones y flujos de salida/error estándar — útil para depurar fallos de prueba en entornos CI/CD.
| Dependencia | Propósito | Fuente de versión |
|---|---|---|
org.slf4j:slf4j-api | Facade de registro SLF4J API | libs.org.slf4j.api (catálogo de versiones) |
org.slf4j:jul-to-slf4j | Puente de java.util.logging a SLF4J | libs.org.slf4j.jul.to.slf4j |
ch.qos.logback:logback-classic | Implementación de registro Logback | libs.ch.qos.logback.classic |
org.apache.logging.log4j:log4j-api | API Log4j2 (para puente) | libs.org.apache.logging.log4j.api |
org.apache.logging.log4j:log4j-to-slf4j | Puente de Log4j2 a SLF4J | libs.org.apache.logging.log4j.to.slf4j |
commons-beanutils:commons-beanutils | Apache Commons BeanUtils (introspección de propiedades) | libs.commons.beanutils |
org.jetbrains.kotlin:kotlin-stdlib | Biblioteca estándar de Kotlin | libs.org.jetbrains.kotlin.stdlib |
org.jetbrains.kotlin:kotlin-reflect | Biblioteca de reflexión de Kotlin | libs.org.jetbrains.kotlin.reflect |
org.apache.commons:commons-collections4 | Apache Commons Collections 4 | catálogo de versiones |
org.apache.commons:commons-lang3 | Apache Commons Lang 3 (StringUtils, etc.) | catálogo de versiones |
net.lingala.zip4j:zip4j | Biblioteca de archivos ZIP (compresión, extracción) | libs.net.lingala.zip4j.zip4j |
| Dependencia | Ámbito |
|---|---|
project(":projectforge-commons-test") | Módulo de utilidades de prueba que proporciona infraestructura de prueba compartida |
org.mockito:mockito-core | Framework de simulación Mockito para pruebas unitarias |
La pila de registro está cuidadosamente estratificada:
Esto asegura que TODA la salida de registro (independientemente de la API de registro que utilice una biblioteca) se enrute a través de SLF4J a Logback, permitiendo una configuración de registro centralizada mediante logback-spring.xml.
Un bloque grande comentado muestra una tarea Gradle personalizada (generateGitProperties) que utilizaba el plugin org.ajoberstar.grgit para generar git.properties con metadatos de compilación (rama, ID de commit, hora de compilación, indicador de suciedad). La dependencia del plugin Grgit también está comentada (//id("org.ajoberstar.grgit") version "5.3.0"). Esto sugiere que la funcionalidad de propiedades Git se migró a otro módulo o fue reemplazada por un mecanismo diferente.
libs.versions.toml en el directorio gradle/) centraliza la gestión de versiones de dependencias. La sintaxis libs.<alias> referencia entradas del catálogo TOML, haciendo que las actualizaciones de versión sean un cambio de punto único en todos los módulos.69441cecd ZipMode y ZipUtils movidos a common (para disponibilidad en scripts) e21feaa61 Juegos de Gradle... 1d2849687 WIP: Dependencias Gradle, (todas las pruebas OK) 98393fe4c WIP: gradle... ca9851ba0 WIP: gradle... 41e2d26e7 WIP: gradle... e31db0a87 WIP: gradle... 2ab2292fb WIP: gradle...