build.gradle.kts (projectforge-common)| Plugin | Objectif |
|---|---|
buildlogic.pf-module-conventions | Plugin de conventions Gradle personnalisé ProjectForge (défini dans buildSrc/) — applique une logique de build partagée à tous les modules (paramètres de compilation Java, configuration du dépôt, contrôles de qualité du code) |
org.jetbrains.kotlin.jvm | Plugin de compilation Kotlin JVM — permet la compilation Kotlin aux côtés des sources Java |
tasks.withType<KotlinCompile> {
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
}
}
Tout le code source Kotlin est compilé en bytecode Java 17. Cela correspond à la base Java 17 du projet (également reflétée dans l'énumération DatabaseDialect référençant les dialectes Hibernate 6 et l'utilisation de l'espace de noms Jakarta EE ailleurs).
tasks.withType<Test> {
useJUnitPlatform()
testLogging {
events("PASSED", "FAILED", "SKIPPED", "STANDARD_OUT", "STANDARD_ERROR")
exceptionFormat = org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
showStandardStreams = true
}
}
Utilise JUnit Platform (JUnit 5) pour la découverte et l'exécution des tests. La journalisation des tests est configurée pour fournir une sortie détaillée montrant tous les événements de test, les traces de pile complètes des exceptions, et les flux standard de sortie/erreur — utile pour déboguer les échecs de test dans les environnements CI/CD.
| Dépendance | Objectif | Source de version |
|---|---|---|
org.slf4j:slf4j-api | API de façade de journalisation SLF4J | libs.org.slf4j.api (catalogue de versions) |
org.slf4j:jul-to-slf4j | Pont java.util.logging vers SLF4J | libs.org.slf4j.jul.to.slf4j |
ch.qos.logback:logback-classic | Implémentation de journalisation Logback | libs.ch.qos.logback.classic |
org.apache.logging.log4j:log4j-api | API Log4j2 (pour le pont) | libs.org.apache.logging.log4j.api |
org.apache.logging.log4j:log4j-to-slf4j | Pont Log4j2 vers SLF4J | libs.org.apache.logging.log4j.to.slf4j |
commons-beanutils:commons-beanutils | Apache Commons BeanUtils (introspection de propriétés) | libs.commons.beanutils |
org.jetbrains.kotlin:kotlin-stdlib | Bibliothèque standard Kotlin | libs.org.jetbrains.kotlin.stdlib |
org.jetbrains.kotlin:kotlin-reflect | Bibliothèque de réflexion Kotlin | libs.org.jetbrains.kotlin.reflect |
org.apache.commons:commons-collections4 | Apache Commons Collections 4 | catalogue de versions |
org.apache.commons:commons-lang3 | Apache Commons Lang 3 (StringUtils, etc.) | catalogue de versions |
net.lingala.zip4j:zip4j | Bibliothèque d'archives ZIP (compression, extraction) | libs.net.lingala.zip4j.zip4j |
| Dépendance | Portée |
|---|---|
project(":projectforge-commons-test") | Module utilitaire de test fournissant une infrastructure de test partagée |
org.mockito:mockito-core | Framework de simulation Mockito pour les tests unitaires |
La pile de journalisation est soigneusement stratifiée :
Cela garantit que TOUTE la sortie de journalisation (quel que soit l'API de journalisation utilisée par une bibliothèque) est acheminée via SLF4J vers Logback, permettant une configuration centralisée de la journalisation via logback-spring.xml.
Un grand bloc commenté montre une tâche Gradle personnalisée (generateGitProperties) qui utilisait le plugin org.ajoberstar.grgit pour générer git.properties avec des métadonnées de build (branche, ID de commit, heure de build, indicateur de modification). La dépendance au plugin Grgit est également commentée (//id("org.ajoberstar.grgit") version "5.3.0"). Cela suggère que la fonctionnalité de propriétés Git a été migrée vers un autre module ou remplacée par un mécanisme différent.
libs.versions.toml dans le répertoire gradle/) centralise la gestion des versions des dépendances. La syntaxe libs.<alias> référence les entrées du catalogue TOML, faisant des mises à jour de version un changement en un seul point dans tous les modules.69441cecd ZipMode et ZipUtils déplacés dans common (pour disponibilité dans les scripts) e21feaa61 Jeux Gradle... 1d2849687 WIP : Dépendances Gradle, (tous les tests OK) 98393fe4c WIP : gradle... ca9851ba0 WIP : gradle... 41e2d26e7 WIP : gradle... e31db0a87 WIP : gradle... 2ab2292fb WIP : gradle...